cURLコマンドビルダー
メソッド、URL、ヘッダー、クエリパラメータ、JSON / フォーム / 生のボディ、Basic / Bearer / APIキー認証、タイムアウトなどのフィールドを使用して、cURLコマンドを視覚的に作成します。ターミナル、スクリプト、CIですぐに実行できるコマンドをコピーできます。
広告ブロッカーにより広告が表示できません
MiniWebtool は広告収益で無料提供しています。このツールが役に立ったら、Premium(広告なし+高速)をご利用いただくか、MiniWebtool.com を許可リストに追加して再読み込みしてください。
- または Premium(広告なし)にアップグレード
- MiniWebtool.com の広告を許可してから再読み込みしてください
cURLコマンドビルダー
cURLコマンドビルダーは、面倒な複数のフラグを持つコマンドを、分かりやすいフォーム入力に変換します。HTTPメソッドを選択し、URLを貼り付け、ヘッダーとクエリパラメータを1行に1つずつ入力し、リクエストボディを設定して、認証モードを選択するだけで、ツールが対応する curl コマンドを自動的に生成します。入力中にターミナル風のプレビューがリアルタイムで更新されるため、コピーする前にコマンドが作成されていく様子を確認できます。
このツールはすべてブラウザ上で動作します。入力されたURLを呼び出すことはなく、ヘッダー、トークン、またはボディを保存することもありません。ターミナル、CIステップ、Makefile、Postmanへのインポート、またはバグレポートにそのまま貼り付けて実行できるコマンドが手に入ります。
手動でのcURL作成よりもビジュアルビルダーが優れている理由
⚡ より迅速な反復作業
1つのフィールドを編集するだけで、コマンド全体が即座に更新されます。バックスラッシュの数を数えたり、-d によってデフォルトの Content-Type が適用されるかどうかを記憶したりする必要はもうありません。
🛡 正しいクォーテーション処理
シングル、ダブル、Windows CMD、PowerShellの各種クォーテーション処理がすべて自動で行われます。これには、bashにおける '...' 内の ' の処理や、CMDにおけるパーセント記号のエスケープも含まれます。
🔁 そのまま使える代替コード
JavaScript の fetch、Python の requests、および HTTPie 用の同じリクエストコードも同時に生成されます。フロントエンドやバックエンドのチームメンバーに再現手順を渡す際に非常に便利です。
cURLコマンドビルダーの使い方
- メソッドを選択します。 GETは読み取り、POSTは作成、PUT/PATCHは更新、DELETEは削除、HEADはヘッダーのみの取得、OPTIONSはリソースでサポートされているメソッドをサーバーに問い合わせます。
- URLを入力します。
https://api.example.com/v1/usersのような完全なURLが最適です。スキームを省略した場合、ビルダーは自動的にhttps://に補完します。 - クエリパラメータを入力します。
key=valueの形式で1行に1つずつ入力します。フラグ形式のパラメータの場合は、値を空のままにしてください。ビルダーはそれらを?の後に結合します。 - ヘッダーを入力します。
Header-Name: valueの形式で1行に1つずつ入力します。ビルダーは重複を排除し、JSON、フォーム、XMLボディに対して独自に設定されていない場合、Content-Typeを自動的に追加します。 - ボディのタイプを選択します。 オブジェクトを貼り付けるにはJSON、
application/x-www-form-urlencodedフィールドにはフォーム、ファイルのアップロードにはマルチパート(name=@/path/to/fileを使用)、バイトデータをそのまま送信するにはRAW、SOAPや同様のAPIにはXMLを選択します。 - 認証を設定します。
user:passwordの場合はBasic、OAuthやJWTトークンの場合はBearer、APIキーはヘッダー(X-API-Keyなど)またはクエリパラメータ(?api_key=...など)として設定します。 - フラグを追加します。 リダイレクトの追跡、gzipリクエスト、レスポンスヘッダーの表示、詳細モード、サイレントモード、ローカルデバッグ用のTLS検証スキップなど、最も一般的なcURLフラグを切り替えることができます。
- 出力スタイルを選択します。 バックスラッシュで改行する複数行スタイルはスクリプトで最も読みやすく、1行スタイルはコピー&ペーストに最適です。Windows CMDはダブルクォーテーションと二重のパーセント記号を使用します。PowerShellは、PowerShellのエイリアスと衝突しないように
curl.exeを明示的に呼び出します。 - コピーして実行します。 コマンドをコピーをクリックし、ターミナルに貼り付けてレスポンスを確認します。
出力スタイルの解説
複数行(デフォルト)は、各フラグを末尾 of バックスラッシュとともにそれぞれの行に配置します。上から下へと読みやすいため、ドキュメント、ブログ記事、シェルスクリプトに適したフォーマットです。
curl \
-X POST \
-H 'Content-Type: application/json' \
--data '{"name":"Jesse"}' \
'https://api.example.com/v1/users'
1行はすべてをスペースで結合します。ターミナルへの単発の貼り付け、ログメッセージ、またはチャットのスレッドに最適です。
Windows CMDは、bashスタイルのシングルクォーテーションをダブルクォーテーションに変換し(CMDはシングルクォーテーションをパースしません)、パーセント記号を二重にすることでエスケープします。これにより、cmd.exe または .bat ファイルからコマンドを文字通り実行できます。
PowerShellは curl.exe を明示的に呼び出します。PowerShellにおいて curl は Invoke-WebRequest のエイリアスであり、引数の構文が異なるためです。
クォーテーション: シングル vs ダブル
LinuxやmacOSのbashでは、変数の展開やバックトラック(バッククォーテーション)の実行が行われないため、シングルクォーテーションが最も安全です。ビルダーは値に含まれる文字通りの ' をエスケープシーケンス '\'' に変換するため、囲んでいるシングルクォーテーションの対応関係が崩れません。
ダブルクォーテーションは、bashのエスケープルールを維持しつつ、通常ではエスケープしにくい引用符文字を許容したい場合に適しています。ビルダーは、ダブルクォーテーション内の $、`、\\、および " をエスケープし、値が変更されずに送信されるようにします。
認証パターン
Basic認証は Authorization: Basic base64(user:password) を送信します。cURLのフラグ -u user:password が自動的にエンコード処理を行います。必ずHTTPSを使用してください。通常のHTTPにおけるBasic認証は簡単に傍受されてしまいます。
Bearerトークン(OAuth 2.0、JWT、GitHubの個人アクセストークンなど)は、Authorization: Bearer <token> を追加します。トークンはパスワードのように扱ってください。スクリーンショット、Slackメッセージ、またはCIログに漏洩した場合は、すぐにローテーションしてください。
APIキーは、ヘッダー(X-API-Key、X-RapidAPI-Key)またはクエリパラメータ(?api_key=...)に配置できます。一般的にヘッダーの方が安全です。URLはリバースプロキシやブラウザの履歴に記録されることが多いためです。
主なHTTPメソッドの一覧
- GET — リソースを読み取ります。安全かつ冪等(べきとう)である必要があります。
- POST — 新しいリソースを作成するか、GETのセマンティクスに合わないデータを送信します。冪等ではありません。
- PUT — 指定したURLのリソースを置き換えます。冪等です。
- PATCH — 部分的な更新を行います。APIに応じてJSON Patch (RFC 6902) またはマージパッチ (RFC 7396) を使用します。
- DELETE — リソースを削除します。冪等です。
- HEAD — GETと似ていますが、サーバーはヘッダーのみを返します。ボディをダウンロードせずに、キャッシュの新鮮度やコンテンツの長さをテストするために使用します。
- OPTIONS — 許可されているメソッドをサーバーに問い合わせ、CORSメタデータを読み取ります。
生成されたコマンドのトラブルシューティング
- SSL証明書エラー。
--insecureの切り替えは、信頼できるホストまたは自身のローカルサーバーに対してのみ行ってください。本番環境のデバッグでは、--cacertを使用してcURLに正しいCAバンドルを指定することを推奨します。 - 空のレスポンスまたはハング(フリーズ)。
-v詳細モードで実行し、TLSハンドシェイクとヘッダーを確認してください。接続(connect)ステップでのハングは通常、サーバーに到達できないことを意味します。転送(transfer)ステップでのハングは、サーバーがリクエストを受け付けたものの処理が遅いことを意味します。 - 415 Unsupported Media Type(サポートされていないメディアタイプ)。 サーバーが異なる
Content-Typeを期待しています。ビルダーは、JSON、フォーム、XMLボディに対して独自に設定されていない場合、適切な値を自動的に追加します。 - 401 vs 403。 401は資格情報が不足しているか無効であることを意味します(Bearerトークンを再確認してください)。403は資格情報は有効であるものの、ユーザーに権限がないことを意味します(スコープを確認してください)。
- 413 Payload Too Large(ペイロードが大きすぎます)。 一部の上流サーバーでは、ボディサイズを1〜10 MBに制限しています。分割アップロード(チャンクアップロード)のエンドポイントやストリーミングの利用を検討してください。
セキュリティとプライバシーに関する注意点
- このビルダーはクライアントサイドでレンダリングされます。入力されたURLに何かが送信されることはありません。結果はコマンドのテキストとしてのみ出力されます。
- 本番環境のトークンを貼り付けることは避けてください。どうしても必要な場合は、生成されたコマンドを機密情報として扱ってください。パブリックリポジトリにコミットしたり、ボットのいるチャットに貼り付けたり、公開イシューに添付したりしないでください。
- スクリプト内では環境変数の使用を推奨します。トークンをハードコードする代わりに、
-H 'Authorization: Bearer '"$TOKEN"のように記述してください。変数の前後でシングルクォーテーションを一度区切り、ダブルクォーテーションで囲むことで、bashに変数を展開させることができます。
FAQ(よくある質問)
- Chrome DevToolsからcURLコマンドをインポートできますか?
- このビルダーは逆方向の処理、つまりフォームからcURLを生成します。逆の処理を行いたい場合は、DevToolsから「cURLとしてコピー」を行い、専用のcURLパースツールを使用してください。
- JSONボディを事前にエスケープする必要はありますか?
- いいえ、必要ありません。表示させたい通りのJSONをそのまま貼り付けてください。ビルダーがクォーテーション処理を行うため、ボディは変更されずにサーバーに届きます。
-dと--data-urlencodeの違いは何ですか?-dはボディのバイトデータをそのまま送信します。--data-urlencodeは各フィールドをパーセントエンコードします。これはブラウザがHTMLフォームを送信する際と同じ挙動です。ビルダーはフォーム(Form)のボディタイプには--data-urlencodeを使用し、JSON / RAW / XML には--dataを使用します。- ファイルをアップロードするにはどうすればよいですか?
- Multipart form-data を選択し、
avatar=@/Users/jesse/photo.pngのような行を追加します。@記号はcURLにファイルの内容を読み込むよう指示します。 - なぜcURLが「Argument list too long(引数リストが長すぎます)」と報告するのですか?
- ボディがシェルの引数制限(argvの制限)に対して大きすぎます。代わりに
--data @body.jsonを使用して、ボディをファイルとして渡してください。 - このツールは HTTP/2 および HTTP/3 をサポートしていますか?
- お使いのローカルのcURLが適切なライブラリでコンパイルされている場合、cURL自体は
--http2や--http3によって両方をサポートしています。生成されたコマンドに手動でこれらのフラグを追加することができます。
このコンテンツ、ページ、またはツールを引用する場合は、次のようにしてください:
"cURLコマンドビルダー"(https://MiniWebtool.com/ja//) MiniWebtool からの引用、https://MiniWebtool.com/
by miniwebtool チーム。最終更新日: 2026-05-21