2

我知道 WebRequest 和 WebResponse 对象。问题是我并不是很想得到网页的源代码,我只想检查链接是否存在。问题是,如果我使用 GetResponse 方法,它会拉取网站的整个源代码。

我正在创建一个带有许多链接的断开链接检查器。检查它们需要相当长的时间。如果有办法从网络链接中获取最少的信息?只有足够的信息来查看链接是否有效或损坏(不是整个源代码)。

一个答案(除了使用异步传输)将不胜感激!

4

2 回答 2

4

检查链接是否存在的标准方法是使用HEAD请求,这会导致远程服务器发送请求对象的标头,而不是对象本身。如果您因此请求了一个不在服务器上的对象,服务器会给您正常的 404 响应,但如果它确实存在,您会收到 200 响应,并且在标头之后没有数据。这样,很少有无趣的数据通过网络传输。

于 2009-11-08T07:19:47.793 回答
4
 WebRequest request = HttpWebRequest.Create("http://www.foo.com/");
 request.Method = "HEAD"; // Just get the document headers, not the data.

HEAD类似于GET,只是我们获取的不是文件内容,而是标题。

于 2009-11-08T07:25:13.820 回答