我可以在Getting Http Status code number (200, 301, 404, etc.) from HttpWebRequest and HttpWebResponse中按照dtb的建议获得枚举数字 . 但是,对于移动永久站点,我也得到200(OK) . 我想看到的是301 . 请帮忙 . 我的代码如下 . 可能有什么不对/需要纠正?
public int GetHeaders(string url)
{
//HttpStatusCode result = default(HttpStatusCode);
int result = 0;
var request = HttpWebRequest.Create(url);
request.Method = "HEAD";
try
{
using (var response = request.GetResponse() as HttpWebResponse)
{
if (response != null)
{
result = (int)response.StatusCode; // response.StatusCode;
response.Close();
}
}
}
catch (WebException we)
{
if (we.Response != null)
{
result = (int)((HttpWebResponse)we.Response).StatusCode;
}
}
return result;
}
The tool我正在使用此代码能够显示404,而不是现有域,但它忽略重定向并显示有关重定向网址的详细信息 . 例如,如果我将旧域easytipsandtricks.com放在文本字段中,它会显示tipscow.com的结果(如果您在任何在线检查器工具中检查easytipsandtricks.com,您会注意到它提供了正确的重定向消息 - 301 Moved ) . 请帮忙 .
1 回答
您需要将HttpWebRequest.AllowAutoRedirect设置为
false
(默认为true
),因为它不会自动跟随重定向(30x响应) .样品: