curl コマンドジェネレーター
HTTPメソッド・URL・ヘッダー・ボディ・認証方式をフォームで指定すると、コピーしてそのまま実行できる curl コマンドを生成します。リクエストを実際には送信しないため CORS の制約を受けません。
よく使う curl オプション一覧
| オプション | 説明 |
|---|---|
| -X, --request <method> | HTTPメソッド(GET・POST・PUT・PATCH・DELETE等)を指定する。省略時は本文なしなら GET、本文ありなら POST になる。 |
| -H, --header <header> | リクエストヘッダーを1件追加する。複数指定する場合は -H を繰り返す。 |
| -d, --data <data> | リクエストボディを送信する。-X を指定しない場合、自動的に POST・Content-Type: application/x-www-form-urlencoded として送信される。 |
| -u, --user <user:password> | Basic認証のユーザー名とパスワードを "user:password" 形式で指定する。 |
| -k, --insecure | SSL証明書の検証をスキップする。自己署名証明書の開発環境向け。本番環境では非推奨。 |
| -L, --location | サーバーが 3xx リダイレクトを返した場合、Locationヘッダーの示す先へ自動的に追従する。 |
| -v, --verbose | リクエスト・レスポンスヘッダーを含む詳細なやり取りを標準エラー出力に表示する。デバッグに有用。 |
| --compressed | Accept-Encoding ヘッダーを付与し、gzip等で圧縮されたレスポンスを要求・自動展開する。 |
| -o, --output <file> | レスポンスボディを標準出力ではなく指定したファイルに保存する。 |
| -F, --form <name=content> | multipart/form-data 形式でフォームデータやファイルを送信する。ファイルアップロードには "@ファイルパス" を指定する。 |
Tips
- 生成したコマンドはそのまま ターミナル・シェルスクリプト・CI/CD 設定ファイル に貼り付けて実行できます。値はすべてシングルクォートでエスケープ済みです。
- メソッドを GET のままボディを入力すると警告が表示されます。curl は
-Xを省略した状態で-dを使うと自動的に POST として送信するため、意図しない挙動を避けるための注意喚起です。 - 「Content-Type: application/json を自動付与」にチェックを入れると、JSON API へのリクエストで忘れがちな Content-Type ヘッダーを自動的に追加します。
- Basic認証・Bearerトークンのどちらも入力値はブラウザ内でのみ処理され、サーバーには一切送信されません。
- 生成された
-k(証明書検証スキップ)は自己署名証明書のローカル開発環境限定の一時的な回避策です。本番 API への恒久的な利用は避けてください。
よくある質問
-X オプションを省略した状態で -d(本文)を指定すると、自動的に POST として送信します。GET を維持したまま本文を送りたい特殊なケースでは、生成後のコマンドに -X GET を手動で追加してください。
余談ですが ― curl はなぜ「みんなが使うのに誰も知らない」ツールなのか
curl は1996年にスウェーデンのエンジニアダニエル・ステンバーグが開発した、URLを使ってデータを転送するコマンドラインツールです。もともとは IRC チャットボット用に通貨レートを取得する小さなスクリプトが起源で、そこから HTTP・FTP・SMTP など25種類以上のプロトコルに対応する巨大なプロジェクトへと成長しました。
curl は世界で最も広く使われているソフトウェアの一つとされています。スマートフォン・自動車・家電・ゲーム機・宇宙探査機(NASAの火星探査ミッションでも使用実績あり)など、インターネットに接続するあらゆる機器の内部に組み込まれており、その数は数百億台規模にのぼると推定されています。それほど普及していながら、開発者以外にはほとんど名前を知られていない「縁の下の力持ち」の代表例です。
ステンバーグ氏は2019年、Web の基盤技術への貢献が認められ、リナックス財団から表彰されました。彼は現在も一人の中心的なメンテナーとしてcurlの開発を牽引しており、20年以上にわたり後方互換性を壊さないよう慎重にプロジェクトを運営してきたことで知られています。
GUIツールの Postman が普及した現在でも、curl コマンドは README・公式ドキュメント・APIの動作確認手順として使われ続けています。理由は単純で、curl はインストール不要でほぼ全てのLinux・macOS環境に標準搭載されており、コマンド1つでその場で実行して結果を共有できるという再現性の高さにあります。