我了解WebRequest和WebResponse对象。问题是我真的不想获取网页的源代码,我只想查看链接是否存在。问题是,如果我使用GetResponse方法,它会拉动网站的整个源代码。
我正在创建一个包含许多链接的链接检查器。检查它们需要很长时间。如果有办法从网络链接获取MINIMAL信息?只有足够的信息来查看链接是否有效(或不是整个源代码)。
非常感谢答案(使用异步转移的BESIDES)!
答案 0 :(得分:4)
检查链接是否存在的标准方法是使用HEAD
请求,这会导致远程服务器发送请求对象的标头,但不发送对象本身。如果您因此请求了不在服务器上的对象,则服务器会为您提供正常的404响应,但如果它存在,则会在标头之后获得200响应并且没有数据。这种方式很少有无趣的数据通过网络传输。
答案 1 :(得分:4)
WebRequest request = HttpWebRequest.Create("http://www.foo.com/");
request.Method = "HEAD"; // Just get the document headers, not the data.
HEAD
与GET
类似,只是不是获取文件内容,而是获取标题。