我正在使用HttpWebRequest并传入一个IP地址。然后我将主机设置为垃圾值。当我打电话给GetResponse()
时我得到了一个好的,即使我认为这会失败,因为主机是垃圾。
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(String.Format("http://10.10.10.10/Default.aspx"));
request.Host = "blah.blah.blah";
request.ContentType = "text/xml";
using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
{
if (response.StatusCode == HttpStatusCode.OK) { /*always enters here */ }
}
为什么回复可以回复?垃圾主机不应该导致它失败吗?
答案 0 :(得分:4)
获取或设置要在独立于请求URI的HTTP请求中使用的Host头值。
使用Host属性显式指定自定义主机标头值也会影响区域缓存,Cookie和身份验证。当应用程序提供特定URI前缀的凭据时,应用程序需要确保使用包含Host标头值的URI,而不是URI中的目标服务器。
因此.Host
对一般请求没有影响,您可以更改其他一些行为。