在 HttpClient 中覆盖主机

Override Host in HttpClient

我正在使用 HttpClient 但它在 DNS 解析方面存在问题(为此它使用同步方法)所以我使用另一个库来进行 DNS 查询,现在我正在尝试获得自定义 url s 通过 IP 但我需要替换主机 header。例如,我将 url http://fb.com but I need to get http://1.1.1.1 的主机设置为 fb.com 我试过:

_req = new HttpRequestMessage(HttpMethod.Get, newUri.ToString());
_req.Headers.Host = uri.Host;
_httpClient.DefaultRequestHeaders.Host = uri.Host;

但这不起作用。有没有办法像在 HttpWebRequest 中那样设置自己的主机 header?

这是工作。问题出在基于 url 覆盖主机 header 的 Fiddler。当 Fiddler 关闭时,一切正常。