查询404文件

前几天编写了如何判断一远程文件(图片等)是否存在的一程序,而今天又遇类似一问题,如何检测一网址是否出现404错误,信息量一大,一条条删太麻烦了,下面用程序来解决这个问题。
  我用代码试了一下,发现HttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse();这句出错,则表示这一网址是有问题的。这时我就想到,用try.....catch来解决这个方法。

具体判断404错误的函数如下:程序代码 程序代码static bool isUrl404(string sURL)
{
    bool bExists = true;
    try
    {
        //用于把一请求的响应将会被放到一个WebRequest对象里
        HttpWebRequest request = (HttpWebRequest)WebRequest.Create(sURL);

        request.Method = "HEAD";
        request.AllowAutoRedirect = false;  //设置请求是否应跟随重定向响应
        //然后这个GetResponse对象被用来建立一个流来取出XML的值
        HttpWebResponse response = (HttpWebResponse)request.GetResponse();

        //关闭对象
        response.Close();
        request.Abort();
    }
    catch (WebException ex)
    {
        HttpWebResponse response = (HttpWebResponse)ex.Response;

        if (response != null)  //排除对象为空的错误
        {
            if (response.StatusCode == HttpStatusCode.NotFound)  //判断是否是404错误
                bExists = false;
        }
    }
    return bExists;
}
 

posted on 2013-11-08 15:31  水行者  阅读(213)  评论(0编辑  收藏  举报

导航