curl の使い方

URL にアクセス

書き方

curl [-I] [-s] [-o ファイル] URL

Web サーバーの動作確認に使います。-I でヘッダーだけ、-o でファイルに保存。

よく使うオプション

オプション意味
-Iヘッダーだけを取る
-iヘッダーと中身の両方を出す
-s進み具合やエラーの表示を出さない
-o ファイル中身をファイルに保存する
-OURL の最後の名前で保存する
-L転送(リダイレクト)先までたどる
-vやりとりを詳しく出す
-X メソッド -d データPOST などでデータを送る

例

$ curl -I http://127.0.0.1/HTTP/1.1 200 OK
Server: Apache/2.4.62 (Amazon Linux)
Content-Type: text/html; charset=UTF-8

Web サーバーが返す番号(200 や 404)とヘッダーだけを見ます。動いているかの確認によく使います。

$ curl -s http://127.0.0.1:3000/health

アプリの確認用の URL を開き、中身だけを出します。

$ curl -L -o app.tar.gz https://example.com/app.tar.gz

転送先までたどってファイルを取り、app.tar.gz という名前で保存します。

$ curl -v http://localhost/ 2>&1 | grep '^<'

-v の詳しい出力から、サーバーの返事(< で始まる行)だけを取り出します。

よくある間違い・注意

  • Connection refused は届いたがその番号で待ち受けているものが無い、No route to host は相手の firewalld が断った、timed out は途中で黙って捨てられた(セキュリティグループ・DROP など)ことが多いです。
  • -o を付けないと、画像などの中身もそのまま端末に出てしまいます。
  • URL に & や ? があるときは、'…' で囲みます。

実際に打って練習する

Linux レベル1 コースの Lv58「Web に話しかける curl」で覚えます(第4章 サーバーの守り手(パッケージとサービス))。ブラウザの中のシミュレーターで、本物と同じように打って確かめられます。

Lv1〜16 は、登録不要・無料で遊べます(それより先はブロンズ以上のプランで遊べます)。

Linux コマンド一覧(LinuC レベル1 の範囲)へ戻る