在特定情况下,我需要能够在requst /响应中禁用压缩.
使用Firefox RestClient我能够将一些xml发布到Web服务并使用单个头参数“Accept-Encoding”成功获得一些响应xml:“”
如果我没有设置这个头,响应体会回复压缩响应体中的一些二进制数据(这就是为什么我要在响应中禁用gzip)
现在在我的应用程序中使用相同的标头值(在C#中使用RestSharp),我仍然得到二进制数据(gzip)作为响应.
有人可以解释一下吗?它在RestSharp中是否受支持?
最佳答案 RestSharp不支持禁用压缩.
如果你看看Http.Sync.cs第267行中的source code(假设同步请求,async在Http.Async.cs第424行中有相同的代码重复)
webRequest.AutomaticDecompression = DecompressionMethods.Deflate | DecompressionMethods.GZip | DecompressionMethods.None;
也就是说,Restsharp用于进行http调用的底层WebRequest具有硬编码的压缩选项.有一个open issue记录了这一点