我希望检查网站上的一系列图片,使用HttpWebRequest
可能存在也可能不存在。但是,即使使用不存在的图像URL,响应仍包含200 OK状态代码。
正在检查的网站都使用自定义404页面,但在使用Firebug / Fiddler检查时返回正确的404代码。
public HttpStatusCode GetHeaders(string url)
{
HttpStatusCode result = default(HttpStatusCode);
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
//request.AllowAutoRedirect = false;
//request.Method = "GET";
try
{
using (var response = request.GetResponse() as HttpWebResponse)
{
if (response != null)
{
result = response.StatusCode;
response.Close();
}
}
return result;
}
catch (Exception)
{
return HttpStatusCode.NotFound;
}
}
任何想法?我一直在努力将这种情况分开两周。
答案 0 :(得分:1)
服务器是否可能将您重定向到可用的“未找到”页面? 尝试停用AutoRedirect。
webRequest.AllowAutoRedirect = false;
...
webRequest.Timeout = 1000;
然后检查重定向。 如果这不起作用,我想你必须解析网站,并留意一个像“找不到”的字符串......