C# .NetCore HttpClient添加不必要的项以接受编码

C# .NetCore HttpClient添加不必要的项以接受编码,c#,.net-core,dotnet-httpclient,C#,.net Core,Dotnet Httpclient,我正在尝试将一个项目迁移到.NETCore,我有一个使用HttpWebRequest的实现。现在在.NETCore上,我设法更改了代码,但当我通过Fiddler检查原始请求时,我的Accept编码是错误的 Accept-Encoding: identity, gzip, deflate 而不是 Accept-Encoding: identity 我试图重置标题以删除它们,但在我调用之前,它们在客户端或请求中都不存在 client.SendAsync(request); 如果由于某种原因,

我正在尝试将一个项目迁移到.NETCore,我有一个使用HttpWebRequest的实现。现在在.NETCore上,我设法更改了代码,但当我通过Fiddler检查原始请求时,我的Accept编码是错误的

Accept-Encoding: identity, gzip, deflate
而不是

Accept-Encoding: identity
我试图重置标题以删除它们,但在我调用之前,它们在客户端或请求中都不存在

client.SendAsync(request); 

如果由于某种原因,由于限制而无法修复这些问题,有没有办法创建原始HTTP请求

HttpClientHandler.AutomaticDecompression正在添加标题。当您关闭自动解压缩时,“接受编码”标题将留空。

由小提琴手验证:

GET http://headers.cloxy.net/request.php HTTP/1.1
Connection: Keep-Alive
Host: headers.cloxy.net

一个有趣的事实是,我的ISP通过一个透明代理强制我的流量,无论我的请求如何,另一端总是接收到
接受编码:gzip
HttpClientHandler.AutomaticDecompression
正在添加头。当您关闭自动解压缩时,它会将“接受编码”标题留空。

由小提琴手验证:

GET http://headers.cloxy.net/request.php HTTP/1.1
Connection: Keep-Alive
Host: headers.cloxy.net

一个有趣的事实是,我的ISP通过一个透明代理强制我的流量,无论我的请求如何,另一端总是接收到
Accept Encoding:gzip

我将接受这一回答。但我实际上是在抓取这个项目,然后使用Mono,而不是使用TCP套接字来实现更好的控制。NETCore目前在TCP套接字的实现方面缺乏很多东西。我将接受这一点作为答案。但我实际上是在抓取这个项目,然后使用Mono,而不是使用TCP套接字来实现更好的控制。NETCore目前在TCP套接字的实现方面缺乏很多。