Http请求 - 绕过DNS [.Net]
有可能(如果是的话,如何)在执行HTTP请求时绕过DNS?Http请求 - 绕过DNS [.Net]
我想用HTTP请求直接点击前端,而无需通过NLB,但使用正确的主机头。 由于我有我的服务器的IP,我只需要绕过DNS。
我试图使用WebRequest,用IP替换URL并设置主机头,但是这个头受保护。
我该怎么做?我需要自己创建HTTP请求吗?
注:编辑主机文件是不是一种选择
我能做到什么,我需要代理服务器设置的IP地址远程服务器:
request.Proxy = new WebProxy(ip.ToString());
它不会在所有情况下工作,但它在我的情况做了
在这个问题有人问,这是不可能的WebRequest类做的时间。但是,由于此问题而引发Microsoft Connect问题后,Microsoft将Host属性添加到.Net版本4.0中的HttpWebRequest类。因此,如果您使用.net 4.0或更高版本,您可以使用此代码实现您想要的功能。
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://127.0.0.1");
Request.Host = "www.example.com"
在此之前的.NET版本4的唯一真正的选择是打开一个Socket并做HTTP请求自己或发现有更多功能的第三方组件。 。
我有一个类似的问题我自己,而是设法使用套接字它(正如马丁·布朗提到在这里就是我的回答:https://stackoverflow.com/questions/359041/request-web-page-in-c-spoofing-the-host#359299
但是,在我的情况下,我想要Kerberos身份验证,我需要302重定向。它真的不觉得重新编码所有的东西:) – Nico 2008-12-11 13:47:45
你可以用我的解决方案对于这个问题,它张贴在这里:
How to set custom "Host" header in HttpWebRequest?
这可以帮助您编辑主机头,并避免使用代理解决方法。
这应该是接受的答案 – David 2015-01-08 21:20:48