Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# HttpClient使用gzip自动压缩,而不是压缩_C#_Postman_Dotnet Httpclient_Deflate_Deflatestream - Fatal编程技术网

C# HttpClient使用gzip自动压缩,而不是压缩

C# HttpClient使用gzip自动压缩,而不是压缩,c#,postman,dotnet-httpclient,deflate,deflatestream,C#,Postman,Dotnet Httpclient,Deflate,Deflatestream,使用和(看起来是同一个服务),我能够成功地通过它们的测试端点获得gzip响应,如下所示: var cli = new HttpClient(new HttpClientHandler { AutomaticDecompression = DecompressionMethods.GZip }); await cli.GetAsync("https://postman-echo.com/gzip"); 但如果我对他们的泄气测试端点做了相同的操作: var cli = new HttpCl

使用和(看起来是同一个服务),我能够成功地通过它们的测试端点获得gzip响应,如下所示:

var cli = new HttpClient(new HttpClientHandler
{
    AutomaticDecompression = DecompressionMethods.GZip
});
await cli.GetAsync("https://postman-echo.com/gzip");
但如果我对他们的泄气测试端点做了相同的操作:

var cli = new HttpClient(new HttpClientHandler
{
    AutomaticDecompression = DecompressionMethods.Deflate
});
await cli.GetAsync("https://postman-echo.com/deflate");
我从
System.Net.Http.HttpContent.LoadIntoBufferAsync
中抛出以下异常/内部异常:

----> System.Net.Http.HttpRequestException : Error while copying content to a stream.
----> System.IO.IOException : The read operation failed, see inner exception.
----> System.Net.Http.WinHttpException : Operation aborted
我可以在.NETCore和.NETFramework中重新编程。请注意,这两个选项在浏览器中都可以正常工作:


人们很容易认为这是测试服务的一个缺陷,但由于浏览器处理得很好,其他平台上的库也一样(他们的测试套件很广泛,但他们不是.NET的人),我真的不确定该用哪种方式来指责。这个异常到底告诉了我什么?

不知道它是否仍然相关,但这确实是一个在.net中的异常,最近才出现在.net 6中。

尝试手动将
内容编码
头添加到您的请求中,以验证是哪一方导致了问题。谢谢。我想你的意思是在请求时接受编码,对吗?我确实试过了,但没什么不同,可能应该提到。是的,我的意思是
接受编码
如果您已经尝试过,请尝试另一个在.NET上测试的测试repo。我很乐意尝试不同的测试服务,但我不知道有什么。