Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

cURLでレスポンスコードだけ見る

shuzo-kino.hateblo.jp
以前の記事では、レスポンスヘッダを丸々みる方法を紹介しました。

ただ、状況によっては過剰でしょう。

実際のところ

たとえば、example.orgというリンクが存在しているか確認したい場合です。
上記の記事通りやると以下のようなります。

$ curl --include  http://www.example.org/
HTTP/1.1 200 OK
Cache-Control: max-age=604800
Content-Type: text/html
Date: Sat, 07 Jan 2017 14:05:50 GMT
Etag: "359670651+gzip+ident"
...
...
</body>
</html>

単にリンクが正常か見るだけなら、レスポンスコードを見ればいいだけです。
この出力を一々AWKでパースするのも……という場合、curlの-wオプションを使えばいけます。
レスポンスコードについてはこちらを参照。
まぁ雑にいうと200~400の間にあれば大丈夫ということです。

$ curl -s -o /dev/null -w "%{response_code}\n" http://www.example.org/
200
$ curl -s -o /dev/null -w "%{response_code}\n" http://www.example.org/nothing
404

"-s"はサイレントモードといって、進捗を出しません。
"-o"はどこに本体を吐き出すか決めるオプションですが……今回は豪快にも/dev/null行きで捨てちゃっています。