我目前正在开发一个应用程序,该应用程序遍历服务器上的所有文件并检查每个单独的href以检查它们是否有效。使用WebClient或HttpWebRequest / HttpWebResponse有点过分,因为它每次都会下载整个页面,这是无用的,我只需要检查链接是否没有返回404。
最有效的方法是什么? Socket似乎是一种很好的方式,但是我不太确定它是如何工作的。
感谢您分享您的专业知识!
答案 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
”。这只会收到标题。