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 POST | HTTPメソッド | 対象言語のPOST呼び出し |
-H "Content-Type: ..." | リクエストヘッダー | headersオブジェクト |
-d '{"key":"val"}' | JSONボディ | bodyまたはdataパラメーター |
-F "[email protected]" | マルチパートアップロード | ファイル読み込み + マルチパートフォーム |
-u user:pass | Basic認証 | Authorizationヘッダーまたはauthパラメーター |
-b "session=abc" | Cookie | Cookieヘッダー |
変換が失敗したり結果が正しくない場合
パーサーは標準的なcurl構文に依存します。最も信頼できるソースはブラウザDevToolsのNetworkパネルの「cURLとしてコピー」オプション — この形式は常に正しい形式です。
よくある失敗の原因:
- 直引用符(
")の代わりに曲引用符(")が使われている — ワードプロセッサやPDFから貼り付けた場合によく起こる - 行継続が不完全:バックスラッシュ
\の後にスペースがあると次の行との接続が切れる - 非標準フラグやシェル展開(
$(...)、バッククォート)— コンバーターはリテラル値のみを解析する