1

我正在寻找网站上的一系列图像,这些图像可能存在也可能不存在,使用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;                    
    }
}

有任何想法吗?两周来,我一直试图断断续续地解决这个问题。

4

1 回答 1

1

服务器是否有可能将您重定向到可用的“未找到”页面?尝试停用自动重定向。

  webRequest.AllowAutoRedirect = false; 
  ...
  webRequest.Timeout = 1000;

然后检查重定向。当这不起作用时,我想你必须解析网站并寻找像“未找到”这样的字符串......

于 2012-11-02T15:38:20.237 回答