No.130ネットワーク

curl

カール・URLデータ転送

知識レベル 実践注意一般ユーザーで使える

HTTPを中心に多くのプロトコルでデータを送受信します。API確認やヘッダー確認で特に便利です。

答えよく使う形

  1. 本文を取らずに応答コードとヘッダーを確認できます
  2. リダイレクトを追跡します
  3. 保存先ファイル名を指定します

注意危険度は中程度です。

visitor@goodly: ~

$ curl -I https://example.com

HTTP/1.1 200 OK
content-type: text/html ...

$ curl -L -o out.html https://example.com

$ curl -H "Accept: application/json" https://api.example.com

どんなコマンド?

こんなときに

HTTP疎通確認、APIテスト、ヘッダー確認、ファイル取得、Web障害調査に使います。

curlは、URLを相手にデータを送受信するコマンドです。HTTPやHTTPSの確認に使われることが多いですが、FTPなど複数のプロトコルにも対応します。

実務では、APIの疎通確認、HTTPヘッダー取得、認証付きリクエスト、ファイルダウンロード、障害調査で頻出します。

大切なのは、標準出力へ本文を出す既定動作、-Iでヘッダーだけを見る、-Lでリダイレクトを追う、-oや-Oで保存方法を変える、といった基礎を押さえることです。

書き方とオプション

組み立ててみるオプションを押すと、下の1行に足されます。もう一度押すと外れます。

$ curl

使用例と実行結果

行を押すとコピーできます。

HTTP/1.1 200 OK
content-type: text/html ...
本文を取らずに応答コードとヘッダーを確認できます。

まず安全に試す

3分ミッション

手を動かすと覚えやすくなります。できたものに印を付けてください(この端末に残ります)。

0 / 2

つまずいたとき

301や302で意図した内容が見えない

原因リダイレクト先を追っていません。

こうする-Lを付けて追跡します。

認証情報をそのまま履歴へ残した

原因コマンドラインへ機密情報を直接書きました。

こうする設定ファイル、環境変数、標準入力などを検討します。

終わったときの数(戻り値)

$ echo $?

  • 0正常終了。転送に成功しました。
  • >0名前解決失敗、接続失敗、TLS失敗などで転送できませんでした。

気をつけることと入れ方

気をつけること

危険度は中程度です。認証情報や機密ヘッダーをシェル履歴へ残さない工夫が必要です。

環境による違い

機能差はバージョン依存です。TLS、HTTP/2、HTTP/3対応状況はビルドオプションで変わります。

確かめた環境2026-04-09 に確認

よくある質問

wgetとの違いは何ですか。

curlは送受信やAPI確認に強く、wgetは再帰取得や非対話ダウンロードで便利な場面があります。

本文を表示せず状態だけ見たい時はどうしますか。

-Iでヘッダーだけ見るか、-o /dev/nullと-wを組み合わせます。

curl を最後まで読みました。

Linux コマンド辞典に戻る16 / 144

Goodly のメニュー