
curl を使用して Web サイトから HTTP ヘッダー情報を取得する
あらゆるウェブサイトからHTTPヘッダー情報を取得する最も簡単な方法は、コマンドラインツールのcurlを使用することです。ウェブサイトのヘッダー情報を取得する構文は次のとおりです。
curl -I url
これは小文字の L ではなく大文字の 'i' です。大文字の i はヘッダー情報のみを抽出します。
サンプル URL を使って自分で試してみてください。以下は、取得する Web サイトのヘッダーとして Google.com を使用する構文文字列の例です。
curl -I www.google.com
繰り返しになりますが、サイトヘッダーのみが必要な場合は、大文字の「I」を使用することが重要です。小文字の「i」を使用すると、ヘッダーに加えて大量の縮小されたHTMLが生成されます。ターミナルウィンドウでcurlコマンドの直後の行までスクロールすると、HTTPヘッダー情報が表示されます。
curl -I によって取得される HTTP ヘッダーの詳細の例は次のようになります。
HTTP/1.1 200 OK
日付: 木、2014 年 7 月 7 日 22:15:57 GMT
有効期限: -1
キャッシュ コントロール: private、max-age=0
コンテンツ タイプ: text/html; 文字セット = ISO-8859-1
Set-Cookie: PREF=ID=741dreb25486514f:FF=0:TM=13154488957:LM=15526957:S=kmFi3jKGDujg; 有効期限 = 土、2013 年 7 月 6 日 22:15:57 GMT; パス =/;ドメイン=.google.com
Set-Cookie: NID=48=8jFij8f8Lej115z89237iaa8sdoA8akjak8DybmLHXMC6aNGyxM8DnyNv-
iYjF09QhiCq2MdM3PKJDSFlkJalkaPHAU4JQy7MM8MKDQKEFLPqzoTSBPLKJLKMmdILlkdjel; 有効期限=2012年1月6日(金) 22:15:57 GMT; パス=/; ドメイン=.google.com; HttpOnly
Server: gws
X-XSS-Protection: 1; モード=ブロック
Transfer-Encoding: chunked
HTML、Javascript、CSS のナンセンスをすべて回避する簡単な方法は、-D フラグを使用してヘッダー自体を別のファイルにダウンロードし、そのファイルを好みのテキスト エディターで開くことです。
curl -iD httpheader.txt www.apple.com && open httpheader.txt
これは、いくつかの修飾子を除けば、前のcurlコマンドと同じです。二重アンパサンドの使用は、ヘッダーが正常にダウンロードされた場合にのみファイルを開くようにコマンドに指示します。「open」を使用すると、httpheader.txtはデフォルトのGUIテキストエディタ(通常はテキストエディタ)で開きますが、vi、nano、またはお好みのコマンドラインツールを使用することもできます。
curl -iD httpheader.txt www.apple.com && vi httpheader.txt
curl は、ぜひ使いこなしていただきたい強力なユーティリティです。Web に関わる人なら誰でも、このヘッダートリックを活用できるはずです。Web 開発者も curl を使って、Web サイトから HTML と CSS をすべて素早くコピーできます。curl のもう一つの利点は、ほぼすべての OS で利用できることです。Mac OS X と Linux のほぼすべてのバージョンにバンドルされており、Windows 版、さらには Android 版や iOS 版も個別のアプリを通じて入手できます。curl は長い歴史があり、コマンドはプラットフォーム間で共通であるため、ヘッダー情報を取得するのに最適な選択肢であり、システム管理者、ネットワーク管理者、Web 開発者、その他多くの技術職にとって貴重なツールです。
更新:読者の勧めにより、フラグが -i から -I に更新されました。皆さん、ありがとう!