cURL → コード変換
curlコマンドを貼り付けるだけで、fetch・axios・Python requests・Go net/http・PHP curl・Ruby Net::HTTP など各言語のHTTPリクエストコードへ自動変換。APIドキュメントやChrome DevToolsの「Copy as cURL」をそのままコード化できる無料オンラインツール。ブラウザ内で完結。
curlコマンドを fetch・axios・Python requests・Go net/http・PHP・Ruby など各言語のコードに変換するツールです。
fetch("https://api.example.com/users", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_TOKEN",
},
body: "{\"name\":\"tanaka\",\"age\":30}",
})
.then((res) => res.json())
.then((data) => console.log(data))
.catch((err) => console.error(err));// cURL → コード変換の機能と特徴
cURLとは
curl(カール)は、コマンドラインからHTTPリクエストを送信できるオープンソースのツールです。ほぼすべてのOS(Mac / Linux / Windows)に標準搭載されており、API動作確認・ファイルダウンロード・スクリプトからのHTTP通信などに広く使われています。Stripe・GitHub・OpenAIなど多くのAPIドキュメントでは、リクエスト例がcurlコマンドで書かれているため、開発者にとって“共通言語”となっています。
変換できる言語(fetch・axios・Python・Go・PHP・Ruby)
fetch(JavaScript / ブラウザ・Node.js 18+)、axios(JavaScript)、Python requests、Go net/http、PHP(cURL拡張)、Ruby Net::HTTP の6種類に対応。APIドキュメントに記載されているcurlコマンドや、Chrome DevToolsのNetworkタブで「Copy as cURL」したリクエストをそのまま貼り付けて、使いたい言語のコードへ一発変換できます。
対応するcurlオプション(-X・-H・-d・-F・-u)
-X / --request(メソッド)、-H / --header(ヘッダー)、-d / --data / --data-raw / --data-binary / --data-urlencode(ボディ)、-F / --form(multipart)、-u / --user(Basic認証)、-b / --cookie、-A / --user-agent、-e / --referer、-L / --location(リダイレクト追従)、-k / --insecure(SSL検証スキップ)、-G / --get(GETでデータをクエリ化)、-I / --head。-s / -S / --compressed など出力・進捗系のオプションは変換対象外として無視されます。
Authorizationヘッダーを含むコマンドも安全に変換
入力されたcurlコマンドはすべてブラウザ内で処理され、サーバーには一切送信されません。Authorizationヘッダーやアクセストークン、Basic認証情報を含むコマンドも安全に変換できます。
// cURL → コード変換に関するよくある質問
Chrome DevToolsの「Copy as cURL」に対応していますか?
- はい。NetworkタブでリクエストをRight-click → Copy → Copy as cURL で取得したコマンドをそのまま貼り付けて変換できます。macOSの場合は「Copy as cURL (bash)」を選択してください。
-d @filename のようなファイル参照はどう処理されますか?
- ブラウザ上ではローカルファイルを読み取れないため、プレースホルダー(<file content>)に置換され、警告メッセージが表示されます。生成されたコード上で実際のデータやファイル読み込み処理に書き換えてください。
未対応のオプションを含むcurlコマンドはどうなりますか?
- 未対応のオプションは無視され、警告メッセージで通知されます。メソッド・URL・ヘッダー・ボディなど主要な要素は正しく変換されますが、生成コードを実行する前に警告内容を確認してください。
curlコマンドに含まれるAPIキーはサーバーに送信されますか?
- いいえ、すべての処理はブラウザ内で完結します。APIキーやBearerトークンを含むcurlコマンドを貼り付けても、外部に情報が漏れることはありません。
変換結果は本番環境でそのまま使えますか?
- 基本的な動作確認・プロトタイピング用途としてはそのまま利用できます。本番コードとして組み込む際は、エラーハンドリング・タイムアウト・リトライ・シークレット管理などをプロジェクトのポリシーに合わせて追加してください。
multipart(-F)は完全に変換されますか?
- 基本的なキー=値のフォーム項目、@ファイル指定(PHPのCURLFile、Pythonのopen()など)は各言語の慣用的なコードへ変換されます。fetch/axiosではFormData組み立てコード、Go/Rubyでは実装が重いためコメントでの誘導となります。
JSONボディが壊れていた場合、生成コードはどうなりますか?
- 本ツールは -d で渡した内容の構文チェックは行わないため、JSONが壊れていると生成コードにもそのまま反映され、実行時にサーバー側で 400 エラーになります。貼り付ける前に JSON整形・フォーマッター で構文を確認しておくと、変換後のデバッグ時間を減らせます。
Windows のコマンドプロンプト用にコピーした curl でも変換できますか?
- 本ツールは行継続に \ を使う bash 形式を想定しています。Chrome の「Copy as cURL (cmd)」は行継続に ^ を使い引用符の扱いも異なるため、正しく解析できない場合があります。その場合は「Copy as cURL (bash)」を選び直してください。PowerShell の curl は Invoke-WebRequest の別名なので、curl.exe の形式で取得したコマンドを貼り付けてください。
URL のクエリパラメータや日本語を含む URL はどう扱われますか?
- URL は入力どおりに出力され、パラメータの解釈や再エンコードは行いません。-G / --get を付けると -d のデータが GET のクエリ文字列として扱われます。長いクエリの中身を確認したいときは URLパーサー で構成要素ごとに分解して見ると分かりやすいです。日本語や記号を含む値は、あらかじめ URL エンコード済みの形で curl に書いてください。
curl では成功するのに fetch / axios に変換すると失敗するのはなぜ?
- ブラウザから実行する fetch / axios は CORS の制約を受けるため、サーバーが Access-Control-Allow-Origin などを返していないと、curl と同じリクエストでもブロックされます。まず対象 API のレスポンスヘッダを HTTPヘッダ解析 で確認し、自分が管理するサーバーであれば CORS設定ジェネレーター で必要なヘッダを用意してください。Node.js やサーバーサイドから実行する場合は CORS の影響を受けません。
// cURL → コード変換の使い方
-
curlコマンドを貼り付け
上の入力欄にcurlコマンドを貼り付けます。行末の \ による複数行の継続もそのまま認識されます。SAMPLEボタンで代表的なパターン(POST JSON / GET / FORM / BASIC AUTH)を読み込めます。
-
出力言語を選択
FETCH / AXIOS / PYTHON / GO / PHP / RUBY から変換先を選びます。選択に応じてリアルタイムでコードが再生成されます。未対応オプションがあれば警告が表示されます。
-
コードをコピー
COPYボタンで生成されたコードをクリップボードにコピーし、自分のプロジェクトに貼り付けて使います。必要に応じてエラーハンドリングや型を追加してください。
カテゴリ ネットワーク