読者です 読者をやめる 読者になる 読者になる

Bye Bye Moore

猫マンション建築の野望を胸に零細事業主として資本主義の荒波に漕ぎ出したアラサー男の技術メモ

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

bash unix

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行きで捨てちゃっています。