cURL コンバーター

概要

cURLコンバーターは、curlコマンドを40以上の言語・フレームワーク向けのHTTPクライアントコードに変換するツールです。curlコマンドを貼り付けて対象言語を選ぶと、シンタックスハイライト付きの同等コードが得られます。APIガイドにcurlの例が示されていて、それをPython・Go・その他の言語にヘッダーや本文を手書きせずに変換したい場合に特に役立ちます。

実際の変換例

入力 — 認証ヘッダー付きGETリクエスト:

curl -X GET "https://api.example.com/users?page=1&limit=10" \
  -H "Authorization: Bearer eyJhbGci..."

Python requestsの出力:

import requests

url = "https://api.example.com/users"
params = {"page": "1", "limit": "10"}
headers = {"Authorization": "Bearer eyJhbGci..."}

response = requests.get(url, params=params, headers=headers)
print(response.json())

Node.js fetchの出力:

fetch("https://api.example.com/users?page=1&limit=10", {
  headers: { "Authorization": "Bearer eyJhbGci..." }
}).then(r => r.json()).then(console.log);

対応している変換先の言語

主要言語とNode.js

  • Python (requests / http.client)
  • JavaScript (ネイティブFetch / XHR / jQuery)
  • Node.js (Axios / Fetch / Got / Ky / SuperAgent)
  • Java (HttpURLConnection / OkHttp)
  • Go、Kotlin、Swift、Dart、Rust

その他の言語・ツール

  • PHP (ネイティブ / Guzzle)
  • C、C#、Ruby (ネイティブ / HTTParty)
  • PowerShell、R、Elixir、Julia、Lua
  • Ansible、CFML、Clojure、Perl、Wget

よく使うcurlフラグのコードへの対応

curlフラグ意味コードへの反映
-X POSTHTTPメソッド対象言語のPOST呼び出し
-H "Content-Type: ..."リクエストヘッダーheadersオブジェクト
-d '{"key":"val"}'JSONボディbodyまたはdataパラメーター
-F "[email protected]"マルチパートアップロードファイル読み込み + マルチパートフォーム
-u user:passBasic認証Authorizationヘッダーまたはauthパラメーター
-b "session=abc"CookieCookieヘッダー

変換が失敗したり結果が正しくない場合

パーサーは標準的なcurl構文に依存します。最も信頼できるソースはブラウザDevToolsのNetworkパネルの「cURLとしてコピー」オプション — この形式は常に正しい形式です。

よくある失敗の原因:

  • 直引用符(")の代わりに曲引用符(")が使われている — ワードプロセッサやPDFから貼り付けた場合によく起こる
  • 行継続が不完全:バックスラッシュ\の後にスペースがあると次の行との接続が切れる
  • 非標準フラグやシェル展開($(...)、バッククォート)— コンバーターはリテラル値のみを解析する