0
我在做一个网络请求应返回404个状态码,因为URL不存在,但它不是返回303(SeeOther)状态。如果我看的URL它返回的重定向URL,它是:HttpWebResponse“SeeOther”的StatusCode返回而不是404
http://guide.opendns.com/?url=www.googuaoeuaoeu23p2le.com
有谁知道我怎样才能防止这种情况,看到了原404没有OpenDNS的重定向劫持呢?
我的代码:
// create the HttpWebRequest object
HttpWebRequest request = WebRequest.Create("www.googuaoeuaoeu23p2le.com") as HttpWebRequest;
// don't allow redirect
request.AllowAutoRedirect = false;
request.Method = "GET";
request.AllowWriteStreamBuffering = true;
request.KeepAlive = false;
request.ContentType = "application/x-www-form-urlencoded";
request.SendChunked = false;
request.Credentials = CredentialCache.DefaultCredentials;
request.UserAgent = "NetMonitor";
// set the timeout
request.Timeout = 5000;
// get the data as an HttpWebResponse object
HttpWebResponse response = request.GetResponse() as HttpWebResponse;
// convert the data into a string (assumes that we are requesting text)
StreamReader responseReader = new StreamReader(response.GetResponseStream());
// get HTML from the response
string responseHTML = responseReader.ReadToEnd();
// close the response reader
responseReader.Close();
// at this point we successfully got a response and just need to determine what type -- get status code
HttpStatusCode statusCode = response.StatusCode;
您知道如何禁用OpenDNS吗?它是我的DNS提供商的服务吗?我不知道。 –
这是一个网络设置,既可以在机器上设置,也可以通过机器连接到的网络进行设置。但正如我所说的,要验证您要连接的主机名,您需要首先执行dns查找。这将通过或失败,然后你可以返回404. –
我不认为DNS查找会削减它,因为它不仅仅是一个域 - 它可能是一个深层的URL,js文件等。 –