« Something is technically wrong. - Twitter | メイン | ある発表会の後、ロースかつ定食を食べながら »

wget で HEADリクエスト

あとで読む

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

% wget --spider http://groundwalker.com/

とする。wget は サーバーレスポンスに Location ヘッダ が含まれる場合、Location ヘッダの値である URLへ HEAD リクエストをリダイレクトしてくれるのが楽だ。

上のリクエスト時のHTTPログ(from ngrep)

####
T xxx.xxx.xxx.xxx:52414 -> 219.94.128.92:80 [AP]
  HEAD / HTTP/1.0..User-Agent: Wget/1.10.2..Accept: */*..Host: groundwalker.com..Connection: Ke
  ep-Alive....                                                                                 
#
T 219.94.128.92:80 -> xxx.xxx.xxx.xxx:52414 [AP]
  HTTP/1.1 302 Found..Date: Thu, 07 Feb 2008 03:00:55 GMT..Server: Apache/1.3.39 (Unix)..Locati
  on: http://groundwalker.com/blog/..Keep-Alive: timeout=3, max=7..Connection: Keep-Alive..Cont
  ent-Type: text/html; charset=iso-8859-1....                                                  
#########
T xxx.xxx.xxx.xxx:52415 -> 219.94.128.92:80 [AP]
  HEAD /blog/ HTTP/1.0..User-Agent: Wget/1.10.2..Accept: */*..Host: groundwalker.com..Connectio
  n: Keep-Alive....                                                                            
##
T 219.94.128.92:80 -> xxx.xxx.xxx.xxx:52415 [AP]
  HTTP/1.1 200 OK..Date: Thu, 07 Feb 2008 03:00:55 GMT..Server: Apache/1.3.39 (Unix)..X-Powered
  -By: PHP/4.4.8..Keep-Alive: timeout=3, max=8..Connection: Keep-Alive..Content-Type: text/html

サーバーレスポンスに含まれる Last-Modified や Content-Length ヘッダによって、CGI などで動的に生成されたページかどうかの判別や、画像など静的なファイルのファイルサイズを取得するとき便利に使える。画像ファイルの場合だと、

% wget --spider http://groundwalker.com/blog/images/gwlogo.png

とすると

T xxx.xxx.xxx.xxx:52489 -> 219.94.128.92:80 [AP]
  HEAD /blog/images/gwlogo.png HTTP/1.0..User-Agent: Wget/1.10.2..Accept: */*..Host: groundwalk
  er.com..Connection: Keep-Alive....                                                           
#
T 219.94.128.92:80 -> xxx.xxx.xxx.xxx:52489 [AP]
  HTTP/1.1 200 OK..Date: Thu, 07 Feb 2008 03:15:34 GMT..Server: Apache/1.3.39 (Unix)..Last-Modi
  fied: Wed, 22 Nov 2006 18:21:47 GMT..ETag: "2c9be5-486-4564953b"..Accept-Ranges: bytes..Conte
  nt-Length: 1158..Keep-Alive: timeout=3, max=8..Connection: Keep-Alive..Content-Type: image/pn
  g....

のように Content-Length が返ってくればサイズもわかる。なお wget -S ですべてのサーバーレスポンスヘッダが出力されるのは便利だ。

Trackbacks

Trackback URL:
http://groundwalker.com/mt/gwtb.cgi/387

« Something is technically wrong. - Twitter | メイン | ある発表会の後、ロースかつ定食を食べながら »

スポンサー

関連ブログ

あわせて読みたい

関連キーワード

Powered by
Movable Type 3.34

連絡先