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;                    
    }
}

何か案は?私はこれをオンとオフを2週間並べ替えようとしています。

4

1 に答える 1

1

サーバーが利用可能な「見つかりません」ページにリダイレクトする可能性はありますか? AutoRedirect を無効にしてみてください。

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

次に、リダイレクトを確認します。これが機能しない場合は、Web サイトを解析して、「not found」などの文字列を探す必要があると思います...

于 2012-11-02T15:38:20.237 に答える