ツール
入力
結果
結果はここに表示されます。API ドキュメントは例を curl コマンドで示し、ブラウザーの開発者ツールはリクエストを curl としてコピーしますが、あなたが書いているコードはシェルスクリプトではありません。この変換ツールは、シェルと curl と同じようにコマンドを読み取ります。クォート、バックスラッシュによる行継続、$'…' 文字列、& で連結される複数の -d、JSON 用のヘッダーを両方設定する --json、データをクエリ文字列に移す -G などです。そのうえで、同じリクエストを JavaScript fetch、Python requests、Go net/http、axios、PHP cURL として書き出します。プロキシ、ダイジェスト認証、クライアント証明書など移し替えられないものは、黙って捨てるのではなく、生成コードの先頭のコメントに明記します。
動作のしくみ
- コマンドは POSIX シェルのクォート規則で単語に分割されます。Chrome の「Copy as cURL (cmd)」の出力を貼り付けた場合は、cmd.exe の ^ エスケープも処理します。
- JSON の本文はネイティブなリテラル(Python なら dict、fetch と axios ならオブジェクト)として書き出すので編集しやすくなります。それ以外の本文は、curl が送るのとまったく同じ文字列のまま残します。
- -F はディスクからファイルを開くマルチパートフォームに、-u は Basic 認証に、-m はタイムアウトに、-k は対象言語での証明書チェックのスキップ方法になります。
- | jq のようなパイプ以降の部分は省かれ、その旨がコメントに書かれます。$API_KEY のようなシェル変数はそのままコピーされ、置き換えるよう注意書きが付きます。
データの行き先
どこにも行きません。このツールは完全にブラウザ内で動作します。貼り付けたテキストはページが処理し、サーバーに送信されることも、ログに記録されることもありません。
このツールは無料で登録不要です。結果は開いているページの中にだけあり、どこにも保存されません。
必要なポイント
このツールは無料です。ログインもポイントも必要ありません。
よくある質問
- Chrome や Firefox の「Copy as cURL」に対応していますか?
- はい。bash 版(Copy as cURL または Copy as cURL (bash))は通常のシェルのクォートです。Windows の Chrome には Copy as cURL (cmd) もあり、^ で文字をエスケープしますが、この形式も認識してエスケープを解除します。PowerShell 版はそもそも curl の構文ではなく PowerShell の Invoke-WebRequest スクリプトなので、対応していません。
- API キーが $OPENAI_API_KEY のまま書かれているのはなぜですか?
- シェルではそれは変数で、コマンドの実行時に値が入るものであり、変換ツールにはその値を知る方法がないからです。コードではそのまま残し、見つかったすべての変数をコメントに列挙します。キーをソースコードに貼り付けるのではなく、使う言語で環境変数から読み込んでください。Python なら os.environ、Node なら process.env、Go なら os.Getenv です。
- これは curlconverter ライブラリですか?
- いいえ。curlconverter は同じ用途でよく知られたオープンソースプロジェクトで、このページでもクレジットしていますが、このツールは提供する 5 つの出力先向けに書かれた、より小さな独自のパーサーを使っています。メソッド、ヘッダー、データ、フォーム、認証、Cookie、タイムアウト、リダイレクト、TLS 検証といった、リクエストの形を決めるオプションに対応し、変換しなかったオプションはコード冒頭のコメントに列挙します。
- -L と --compressed はどうなりますか?
- fetch、requests、Go の http.Client、axios はもともとデフォルトでリダイレクトをたどり、gzip レスポンスを展開するので、何も追加する必要はありません。PHP の cURL はどちらも自動では行わないため、コマンドで指定されていれば、PHP の出力で CURLOPT_FOLLOWLOCATION と CURLOPT_ENCODING を設定します。
背後にあるオープンソース
このツールは外部ライブラリを同梱しない独自実装です。curlconverter/curlconverter(MIT)はコードとして同じ仕事をします。自分のプログラムで同じことをしたいなら、Web ページを呼ぶのではなくそちらから始めてください。
curlconverter/curlconverter別の呼び方
- curl 変換
- curl python 変換
- curl fetch 変換
- curl go 変換
- copy as curl コード
- curl axios 変換
- curl to code