如何在RestSharp中发送原始字节POST请求?
如何用RestSharp发送字节数组作为POST请求体
针对RestSharp v107及以上版本
直接使用AddByteArrayBody方法,这个方法是专门为二进制请求体设计的,不会把字节数组转成字符串:
restRequest.AddByteArrayBody(array);
如果需要指定请求的Content-Type,可以在方法里补充第二个参数:
restRequest.AddByteArrayBody(array, "application/octet-stream");
针对RestSharp v106及以下旧版本
不要用空字符串作为参数名,而是直接指定Content-Type,再传入字节数组和参数类型:
restRequest.AddParameter("application/octet-stream", array, ParameterType.RequestBody);
为什么之前的写法失败
你之前的代码把第一个参数设为空字符串,RestSharp无法识别这是二进制请求体,所以默认把字节数组当成普通对象处理,调用了它的ToString()方法,最终发送了System.Byte[]这个字符串,而不是实际的二进制数据。
内容的提问来源于stack exchange,提问作者xingkong23333
相关产品推荐
相关产品推荐

