.Net Core HttpClient 将不必要的项目添加到 Accept-Encoding
.NetCore HttpClient adds unnecessary items to Accept-Encoding
我正在尝试将项目迁移到 .Net Core,并且我有一个使用 HttpWebRequest 的实现。现在在 .Net Core 上,我设法更改了代码,但是当我通过 Fiddler 检查原始请求时,我的 Accept-Encoding 是
Accept-Encoding: identity, gzip, deflate
而不是
Accept-Encoding: identity
我尝试重置 header 以删除它们,但在我调用
之前,它们在客户端上不存在,也没有请求
client.SendAsync(request);
如果由于某种原因这些问题由于限制而无法修复,是否有创建原始 HTTP 请求的方法?
HttpClientHandler.AutomaticDecompression
是加上header.When你关闭自动解压,它会留下'Accept-Encoding'headers空白。
var handler = new HttpClientHandler();
handler.AutomaticDecompression = System.Net.DecompressionMethods.None;
var client = new HttpClient(handler);
var result = client.GetStringAsync("http://headers.cloxy.net/request.php");
Fiddler 验证:
GET http://headers.cloxy.net/request.php HTTP/1.1
Connection: Keep-Alive
Host: headers.cloxy.net
一个有趣的事实是,我的 ISP 通过透明代理强制我的流量,无论我的请求如何,另一端总是收到 Accept-Encoding: gzip
。
我正在尝试将项目迁移到 .Net Core,并且我有一个使用 HttpWebRequest 的实现。现在在 .Net Core 上,我设法更改了代码,但是当我通过 Fiddler 检查原始请求时,我的 Accept-Encoding 是
Accept-Encoding: identity, gzip, deflate
而不是
Accept-Encoding: identity
我尝试重置 header 以删除它们,但在我调用
之前,它们在客户端上不存在,也没有请求client.SendAsync(request);
如果由于某种原因这些问题由于限制而无法修复,是否有创建原始 HTTP 请求的方法?
HttpClientHandler.AutomaticDecompression
是加上header.When你关闭自动解压,它会留下'Accept-Encoding'headers空白。
var handler = new HttpClientHandler();
handler.AutomaticDecompression = System.Net.DecompressionMethods.None;
var client = new HttpClient(handler);
var result = client.GetStringAsync("http://headers.cloxy.net/request.php");
Fiddler 验证:
GET http://headers.cloxy.net/request.php HTTP/1.1
Connection: Keep-Alive
Host: headers.cloxy.net
一个有趣的事实是,我的 ISP 通过透明代理强制我的流量,无论我的请求如何,另一端总是收到 Accept-Encoding: gzip
。