wgetでHEADリクエストを投げる

ページの存在チェックには、ページ全体を取得(GETリクエスト)しなくてもHTTPのHEADリクエストで確認することができる。

ページ取得でお手軽に使えるwgetでHEADリクエストを投げるには、--spiderオプションを使う

wget  --spider <URL>

 なお、更新チェックにHEADを使ってもきちんとはわからないので、GETリクエストで比較しなければならない。

404を簡単に抽出

まず、適当なファイルlistに調査したいURL一覧を羅列しておく

http://xxxx/aaa
http://xxxx/bbb
 :

次にforループでURLを1つずつ実行し、

for i in `cat list`
do
echo -n "$i "; wget --spider $i 2>&1 | grep -c '404 Not Found';
done

のようなシェルスクリプトのコマンドを実行する。404であれば、grepの-cでカウント1が取れるので、上記の出力結果は、

http://xxxx/aaa 1
http://xxxx/bbb 1
 :

のようになる。