覆盖HttpClient中的主机 [英] Override Host in HttpClient

查看:55
本文介绍了覆盖HttpClient中的主机的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用HttpClient,但是DNS解析存在问题(为此使用了同步方法),所以我使用另一个lib进行DNS查询,现在我正尝试通过IP获取自定义网址,但我需要替换主机头。例如,我的网址为 http://fb.com ,但我需要获取 http://1.1.1.1 ,主机设置为fb.com,我尝试过:

I'm using HttpClient but it has problems with DNS resolve (it is using the sync method for this) So I use another lib for doing DNS queries and now I'm tryging to get custom urls by IP but I need to replace Host header. For example I have url http://fb.com but I need to get http://1.1.1.1 with Host set to fb.com I've tryied:

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

但这是行不通的。有什么方法可以像在HttpWebRequest中那样设置自己的Host标头?

but this doesn't work. Is there any way to set own Host header like in HttpWebRequest?

推荐答案

这是可行的。 Fiddler的问题在于它会根据URL覆盖Host标头。提琴手离开后,一切都会好起来。

It's work. The problem was with Fiddler which override Host header based on url. When Fiddler is off everything is going fine.

这篇关于覆盖HttpClient中的主机的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆