最有效的测试链接方式

时间:2010-05-20 14:32:50

标签: c# sockets web-crawler webrequest

我目前正在开发一个应用程序,该应用程序遍历服务器上的所有文件并检查每个单独的href以检查它们是否有效。使用WebClient或HttpWebRequest / HttpWebResponse有点过分,因为它每次都会下载整个页面,这是无用的,我只需要检查链接是否没有返回404。

最有效的方法是什么? Socket似乎是一种很好的方式,但是我不太确定它是如何工作的。

感谢您分享您的专业知识!

2 个答案:

答案 0 :(得分:4)

最有效的方法是发送HEAD动词以保留带宽。

var request = WebRequest.Create("http://google.com/");
request.Method = "HEAD";
using (var response = (HttpWebResponse)request.GetResponse())
{
    if (response.StatusCode == HttpStatusCode.OK)
    {
        // 200 OK
    }
}

答案 1 :(得分:1)

HttpWebRequest.Method设为“Head”。这只会收到标题。