我可以按照 dtb 在Getting Http Status code number (200, 301, 404, etc.) from HttpWebRequest 和 HttpWebResponse中的建议获取带有枚举的数字。但是,对于永久移动的站点,我也得到 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;
}
我使用此代码的工具能够显示 404,而不是现有域,但它忽略重定向并显示有关重定向 url 的详细信息。例如,如果我将旧域easytipsandtricks.com 放在文本字段中,它会显示tipscow.com 的结果(如果您在任何在线检查工具中检查easytipsandtricks.com,您会注意到它给出了正确的重定向消息 - 301 Moved )。请帮忙。