2

WebRequestオブジェクトとWebResponseオブジェクトについて知っています。問題は、Webページのソースコードを実際に取得したくないということです。リンクが存在するかどうかを確認したいだけです。GetResponseメソッドを使用すると、サイトのソースコード全体がプルされます。

私は多くのリンクを持つ壊れたリンクチェッカーを作成しています。それらすべてをチェックするにはかなりの時間がかかります。WebリンクからMINIMAL情報を取得する方法はありますか?リンクが有効か壊れているかを確認するのに十分な情報のみ(ソースコード全体ではありません)。

回答(非同期転送を使用する以外に)をいただければ幸いです。

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 に答える