curl → コード変換
すべてブラウザ内で動きます。ファイルやデータが外部に送られることはありません。
このツールについて
curlコマンドを貼り付けると、JavaScriptのfetch、axios、またはPythonのrequestsライブラリで動くリクエストコードに変換されます。URL、メソッド、ヘッダー、ボディ、フォームフィールド、Cookie、Basic認証をコマンドラインから直接読み取るので、変換先を選ぶだけでcurlが実際に送るのと同じ内容のコードが得られます。
どのcurlフラグに対応していますか?
パーサーはシェルと同じルールでコマンドをトークン化します。シングルクォート・ダブルクォート、バックスラッシュのエスケープ、行継続にも対応しているため、ターミナルからコピーした複数行のコマンドもそのまま扱えます。メソッドは-X/--request、ヘッダーは-H/--header、ボディは-d/--data/--data-raw/--data-binary/--data-urlencodeから読み取ります。マルチパートのフォームフィールドは-F/--form(@が付いたファイルフィールドを含む)、Basic認証は-u/--userから取得し、-b/--cookie、-A/--user-agent、-e/--referer、データをボディではなくクエリ文字列に変える-G/--getにも対応しています。-k/--insecureも読み取り、元のコマンドでTLS検証が無効化されていた旨をコメントとして追加します。生成されたコードを読んだだけでは見落としやすい情報だからです。認識できないフラグは黙って捨てずに警告として一覧表示するため、元のコマンドの内容が出力に反映されなかった場合に気づけます。
Content-Typeヘッダーに“json”が含まれるなどボディがJSONだと判断できる場合、生成コードはそれを生の文字列ではなくオブジェクトとしてパースし直します。JavaScriptならJSON.stringify(...)、Python(requests)ならdictとして出力されます。form-urlencoded形式のボディも同様に扱われ、不透明な文字列ではなくURLSearchParamsやPythonのdictに変換されます。
curlコマンドはどこかにアップロードされますか?
されません。解析とコード生成はすべてブラウザ内で行われます。curlコマンドが手元のマシンから外に出ることはないため、APIトークンやセッションCookie、社内ホスト名が含まれている場合でも安心です。
主な用途は、APIドキュメントやブラウザのネットワークタブからコピーしたcurlスニペットをフロントエンド用のfetch呼び出しに変換する、サポートチケットの再現手順をPythonスクリプトに変換する、動作するcurlコマンドに合わせてaxiosリクエストに必要なヘッダーとボディを確認する、といったことです。フラグの全リファレンスはcurlのマニュアルページを、JavaScript側についてはMDNのfetchガイドを参照してください。