2008-11-27 160 views
6

有可能(如果是的话,如何)在执行HTTP请求时绕过DNS?Http请求 - 绕过DNS [.Net]

我想用HTTP请求直接点击前端,而无需通过NLB,但使用正确的主机头。 由于我有我的服务器的IP,我只需要绕过DNS。

我试图使用WebRequest,用IP替换URL并设置主机头,但是这个头受保护。

我该怎么做?我需要自己创建HTTP请求吗?

注:编辑主机文件是不是一种选择

回答

3

我能做到什么,我需要代理服务器设置的IP地址远程服务器:

request.Proxy = new WebProxy(ip.ToString()); 

它不会在所有情况下工作,但它在我的情况做了

+0

这应该是接受的答案 – David 2015-01-08 21:20:48

5

在这个问题有人问,这是不可能的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请求自己或发现有更多功能的第三方组件。 。