curlコマンドとは?
HTTPリクエストをコマンドラインで実施し、その内容を標準出力することができます。
基本形
curl [options] [URL]
なお、サンプルのコマンドでは間違えて実行しても問題ないように、URLとして https://cloudool.com を利用しています。(自分が管理しているサービスなので、実行してもいいけど悪意のある大量実行はご遠慮ください。)
curl https://cloudool.com
よく使うオプション(主観)
-A
概要:
User Agentを指定。
コマンド例:
curl -A "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/600.2.5 (KHTML, like Gecko) Version/8.0.2 Safari/600.2.5 (Amazonbot/0.1; +https://developer.amazon.com/support/amazonbot)" -I https://cloudool.com
個人的な利用シーン:
Botの制限をした際の動作確認。
-I
概要:
ヘッダ情報を取得。
コマンド例:
curl -I https://cloudool.com
個人的な利用シーン:
curlコマンドを利用するときは当たり前につけている。
-L
概要:
要求したページにリダイレクトが掛かっていた場合に追従する。
コマンド例:
curl -L https://cloudool.com | grep -e ^Location: -e ^location:
個人的な利用シーン:
リダイレクト設定をした際の確認。
--resolve
概要:
コマンド例:
curl --resolve "cloudool.com:443:35.79.77.69" https://cloudool.com
個人的な利用シーン:
DNS切り替え前の環境へのHTTPアクセス確認。
-u
概要:
Basic認証などの認証に用いるユーザー名とパスワードPASSを指定する。
コマンド例:
curl -u user:password https://cloudool.com
個人的な利用シーン:
Basic認証があるページの確認。
-v
概要:
Webサーバーから取得した情報を詳細に表示してくれます。
SSL情報を確認したい際にはgrepと組み合わせることで効率よく確認できます。
コマンド例:
curl -v https://cloudool.com 2>&1 | grep -E "subject|issuer|start date|expire date|common name"