このツールについて
curl コマンドは、HTTP リクエストをシェル用にクオートして簡潔に記述したものです。URL、省略可能なメソッド (-X)、ヘッダー (-H)、ボディ (-d、--data-raw、--json、または -F のマルチパートフォームフィールド) から成ります。このコンバーターはコマンドをシェルとまったく同じようにトークン化し(単一引用符と二重引用符、バックスラッシュエスケープ、行の継続、ANSI-C の $'...' 文字列を扱います)、フラグを正規化されたリクエストに解析して、6 つのターゲット向けに慣用的なクライアントコードを出力します。
API ドキュメントに貼り付けられていたり、ブラウザーのネットワークタブからコピーしたりした curl スニペットを数秒で動作するコードに変換するのに使えます。ボディがあるときは POST を推論し、-u の認証情報を Authorization: Basic ヘッダーにデコードし、-G では -d のデータをクエリ文字列に移し、-F では FormData とマルチパートボディを構築し、ボディが JSON のときはネイティブのオブジェクト、dict、配列リテラルを出力します。こうして、fetch 呼び出し、requests スクリプト、Go の net/http ハンドラー、PHP の curl ブロックにそのまま組み込めるリクエストが得られます。
すべてはブラウザー内で実行されます。あなたの curl コマンドは、トークン、Cookie、Basic 認証の認証情報を含めて、サーバーに送信されることは決してありません。
よくある質問
このコンバーターはどの curl フラグに対応していますか?
-X/--request、-H/--header、-d/--data/--data-raw/--data-binary/--data-urlencode、--json、-F/--form、-u/--user、-b/--cookie、-A/--user-agent、-e/--referer、-I/--head、-G を扱います。-L、--compressed、-k、-s、-o などのトランスポートのみのフラグは再現せずに注記され、認識されないフラグは出力を壊す代わりに警告として示されます。
-X フラグがない場合、HTTP メソッドはどう決まりますか?
curl 自身の規則に従います。メソッドはデフォルトで GET ですが、リクエストボディやフォームフィールドがあると自動的に POST になります。明示的な -X が常に優先され、-I は HEAD を強制し、-G はデータをクエリ文字列に移しつつメソッドを GET のままにします。
生成されたコードは JSON のリクエストボディを本物のオブジェクトとして保ちますか?
はい。Content-Type が application/json でボディが正しく解析されると、コンバーターはネイティブのリテラルを出力します。fetch と Axios には JavaScript のオブジェクト、Python には dict、PHP には json_encode に渡す配列を出力し、不透明な文字列にはしません。これによりリクエストボディが読みやすく編集しやすくなります。