- - PR -
ASP.Net2.0 外部ページのリンク切れの判定
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2008-01-12 13:55
ASP.Net2.0にて、リンク集のようなサイトを開発しております。
DBには自ドメイン以外の様々なURLが登録されているのですが、それらの中にリンク切れの物があれば、そのレコードを自動で削除する一括処理を作成したいのです。 しかしその方法が見つからず悩んでおります。 何かいい方法はないでしょうか? |
|
投稿日時: 2008-01-12 14:34
単純に考えれば、『DBにアクセスしてレコードを舐めながらURLにアクセスし、404等が帰ってくるようならリンク切れとみなして削除する』ようなアプリケーションを作成し、定期実行させれば良いように思えます。
ただ、どういった時(タイムアウトやステータスコード)にリンク切れとみなすか等については、一概には言えないかもしれないので、悩みどころかもしれませんが……。 それよりもまず、どういったところで悩んでおられるのか、具体的に書かれたほうが回答が得られやすいように思えます。 (ざっくりとした方法のレベルでなのか、リンク切れの判断をどういった仕様にするかの点なのか、実装レベルでどういったクラスやメソッドで実現するなのか……。) |
|
投稿日時: 2008-01-12 14:40
お返事ありがとうございます。
私が分からず詰まっているのは、「URLにアクセスし、404等が帰ってくる」部分の実際のコーディングです。 どういったコードを書けば、指定URLにリクエストをとばして「404」等を取得できるのかが分かりません。 |
|
投稿日時: 2008-01-12 15:12
実際自分でやってみたことはなく、MSDNのドキュメントとWebで検索してみただけの回答で申し訳ないですが……。
HttpWebRequestとHttpWebResponseでできそうに思えます。HttpWebRequest.GetResponse()でとってきたものをHttpWebResponseにキャストしてやると、HttpWebResponse.StatusCodeでステータスコードが取得できそうに読み取れます。 以下のスレッドが参考になりそうです。 http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=5763&forum=7 |
|
投稿日時: 2008-01-14 07:03
ご返信ありがとうございます。
色々と試行錯誤した結果、どうやらこれをベースでいけそうです。 本当にありがとうございました。 |
1