このツールについて
curl コマンドは API のバグレポートの共通言語ですが、正しくクォートするのは面倒です。JSON 内のシングルクォートは bash を壊し、cmd.exe は & や % を特別扱いし、PowerShell では curl がまったく別のコマンドのエイリアスになっています。このツールは、メソッド、URL、クエリパラメーター、ヘッダー、Basic/Bearer/API キー認証、JSON・フォーム・生データのボディ、-i、-L、--compressed、-k、タイムアウトの各オプションをフォームで指定してコマンドを組み立て、bash、Windows の cmd、PowerShell 7.3 以降向けに正しくクォートします。同じリクエストを JavaScript の fetch、Playwright の APIRequestContext テスト、Python の requests、REST Assured の given/when/then チェーンとしても出力します。「Parse cURL」(cURL を解析)タブは逆方向の変換で、ブラウザの「Copy as cURL」(cURL としてコピー)の出力を含む curl コマンドを貼り付けると、フォームに反映されます。
使い方
- メソッドと URL を入力し、クエリパラメーター、ヘッダー、認証、ボディを追加します。行のチェックを外すと、削除せずに除外できます。
- 出力形式を選びます。シェル用の cURL、または fetch、Playwright、Python、REST Assured を選んでコピーします。
- 既存のコマンドを変換するには、「Parse cURL」(cURL を解析)に切り替えて貼り付け、「Parse into form」(フォームに読み込む)をクリックします。対応していないオプションは、黙って捨てられずに一覧表示されます。
cURL コマンド生成ツール のよくある質問
bash では動く curl コマンドが Windows で失敗するのはなぜですか?
cmd.exe はシングルクォートを理解せず、PowerShell 5.1 は curl を Invoke-WebRequest に割り当てたうえ、ネイティブ引数に埋め込まれたダブルクォートを取り除いてしまいます。cmd 用(キャレットでエスケープしたダブルクォート)か、curl.exe を明示的に呼び出す PowerShell 7.3 以降用の出力を使ってください。
-d、--data-raw、--data-binary の違いは何ですか?
-d は先頭の @ をファイル名として扱い、ファイルの改行を取り除きます。--data-raw は @ で始まっていても文字列をそのまま送ります。--data-binary はファイルの内容を改行を取り除かずに送ります。いずれも、明示しない限り POST とフォームの Content-Type が暗黙的に使われます。
テストで -k を使っても安全ですか?
自己署名証明書を使うローカル環境やテスト環境に対してのみです。-k は証明書の検証を無効にするため、これを使ったテストでは、実際のクライアントが拒否する期限切れや不一致の証明書に気づけません。