测试链接的最有效方法

3
我正在开发一款应用程序,它会遍历服务器上的所有文件,并检查每个href链接是否有效。使用WebClient或HttpWebRequest/HttpWebResponse这些工具会下载整个页面,这是不必要的,我只需要检查链接是否返回404错误。那么最有效的方法是什么呢?Socket似乎是一个不错的选择,但我不太确定如何操作。感谢您分享您的专业知识!
2个回答

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

谢谢您的明确回答,不过我想知道为什么您使用 var 而不是 httpWebResponse?它会返回异常吗? - Pierluc SS
不,这只是因为“var”比“HttpWebResponse”短而已 :-) - Darin Dimitrov
很遗憾,这仍然太慢了,如果有人有另一个答案,请让我知道。 - Pierluc SS

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接