LinuxワンライナーでHTTPステータスを取得する方法

HEADコマンド+Rubyを併用。

1.HEAD等が使用できるようにperl-libwwwとperl-Crypt-SSLeayをインスコ(yumで入れたけど、CPANでもOKかも?)

[takakura@cent1 ~]$ sudo yum install perl-libwww-*
[takakura@cent1 ~]$ sudo yum install perl-Crypt-SSLeay


2.HEADが使用できるようになったか確認

[takakura@cent1 ~]$ HEAD http://www.yahoo.co.jp
200 OK
Cache-Control: no-cache
Connection: close
Date: Mon, 31 Mar 2008 08:39:39 GMT
Pragma: no-cache
Content-Type: text/html; charset=utf-8
Expires: -1
Client-Date: Mon, 31 Mar 2008 08:39:39 GMT
Client-Peer: 203.216.235.154:80
Client-Response-Num: 1
P3P: policyref="http://privacy.yahoo.co.jp/w3c/p3p.xml", CP="CAO DSP COR CUR ADM DEV TAI PSA PSD IVAi IVDi CONi TELo OTPi OUR DELi SAMi OTRi UNRi PUBi IND PHY ONL UNI PUR FIN COM NAV INT DEM CNT STA POL HEA PRE GOV"
X-XRDS-Location: http://open.login.yahoo.co.jp/openid20/www.yahoo.co.jp/xrds

3.Rubyワンライナー
で、ワンライナーステータスコードのみを抽出。
方針はgetsで標準入力取得→splitで単語に分けて→最初の単語を表示

[takakura@cent1 ~]$ HEAD http://www.yahoo.co.jp | ruby -e 'p gets.split[0]'
"200"

HEADコマンドの1行目がHTTPステータスだから楽勝だった。