在执行HTTP请求时是否可以(如果是,如何)绕过DNS?
我想用HTTP请求直接命中前端,而不是通过NLB但使用正确的主机头.由于我拥有服务器的IP,我只需要绕过DNS.
我尝试使用WebRequest,用IP替换URL并设置Host标头,但此标头受到保护.
我怎样才能做到这一点 ?我是否需要自己创建HTTP请求?
注意:编辑主机文件不是一个选项
当问到这个问题时,WebRequest类无法做到这一点.但是,由于此问题引发了Microsoft Connect问题,Microsoft在.Net版本4.0中添加了Host属性到HttpWebRequest类.因此,如果您使用.net 4.0或更高版本,则可以使用此代码实现所需.
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://127.0.0.1"); Request.Host = "www.example.com"
在.Net的第4版之前,唯一真正的选择是打开Socket并自己执行HTTP请求或找到具有更多功能的第三方组件.