cURL から Fetch
curlコマンドを JavaScript の fetch() 呼び出しに変換します。
あなたのcurlコマンドはブラウザ内でローカルに変換され、アップロードされることはありません。ただし、本番環境の実際のトークンや認証情報をどのツールにも貼り付けないようにしてください。
API URLを調べたいですか? URL Parserをお試しください。
cURL から Fetch について
このcurl to fetch変換ツールは、ターミナル、ブラウザのDevTools、APIドキュメントからコピーしたcurlコマンドを受け取り、すぐに実行できるJavaScript fetch()呼び出しに書き換えます。curl to fetch変換ツールとして、-X、-H、-d、--data-raw、--json、-u、-b、-Gといった一般的なフラグを解析し、適切なHTTPメソッドを推測し、適切なContent-Typeヘッダーを設定し、JSONボディをJSON.stringifyで整形します。curlリクエストをフロントエンドのコード、Nodeスクリプト、または手早いテストへ、構文を手作業で翻訳することなく移すために使えます。API呼び出しを組み立てる開発者、QAエンジニア、その他迅速なcurl to javascript変換を求めるすべての人のために作られています。変換は完全にブラウザ内で実行されるため、貼り付けたコマンドはローカルで処理され、デバイスから外に出ることはありません。
機能
- メソッド(-X/--request)を解析し、指定がない場合はGETまたはPOSTを自動推測
- -H/--header フラグを構造化された fetch ヘッダーオブジェクトに変換
- -d、--data-raw、--data-ascii、--data-binary、--json のリクエストボディに対応
- 有効なJSONボディをJSON.stringifyで整形し、対応するContent-Typeを付加
- -u/--user のBasic認証をAuthorizationヘッダーにエンコードし、cookie・user-agent・refererをマッピング
- -G/--get リクエストをデータをクエリ文字列として付加する形に書き換え
- -k、-L、ファイル出力オプションなど fetch に相当しないフラグを警告
- 結果をワンクリックでコピー、または request.js としてダウンロード
cURL から Fetch の使い方
- curlコマンドをcURLコマンドボックスに貼り付けます。
- 右側の出力パネルで生成されたfetch()相当のコードを確認します。
- 無視または調整されたフラグがないか警告バナーをチェックします。
- コピーをクリックしてfetchコードを取得するか、request.jsとしてダウンロードします。
例
入力
curl https://api.example.com/users \
-H "Authorization: Bearer TOKEN" \
-d '{"name":"Ada"}'
出力
const response = await fetch("https://api.example.com/users", {
method: "POST",
headers: {
"Authorization": "Bearer TOKEN",
"Content-Type": "application/x-www-form-urlencoded"
},
body: "{\"name\":\"Ada\"}",
});
const data = await response.text();
-d ボディはデフォルトでPOST、form-urlencodedのContent-Typeになります。
よくあるエラーとトラブルシューティング
- 出力に "Command should start with curl" または "No URL found in the curl command" と表示される。 — 貼り付けたテキストがcurlで始まり、完全なURLを含んでいることを確認してください。変換ツールは本物のcurl呼び出しを想定しています。
- JSONボディがJSON.stringifyではなくform-urlencoded文字列として出力される。 — --jsonで送るか、-H "Content-Type: application/json" を追加してください。そうすると変換ツールは有効なJSONをJSON.stringifyで包むべきだと認識します。
- -k/--insecure や -L/--location などのフラグが消えたように見える。 — これらにはfetch相当が存在しません。ブラウザは常にTLSを強制し、デフォルトでリダイレクトに従うため、変換ツールはこれらを警告として記し、削除します。
- --data-urlencode の値が再エンコードされない。 — 変換ツールはこれらをそのまま保持して警告します。エンドポイントが厳密なURLエンコードを必要とする場合は、値をご自身でエンコードしてください。
よくある質問
- cURL to Fetch 変換ツールとは何ですか?
- -X、-H、-dとその派生、--json、-u、-b、-A、-e、-G、--url を含む一般的なcurlフラグを解析し、適切なメソッド・ヘッダー・ボディを備えた同等のJavaScript fetch()呼び出しを構築する、ブラウザ内ツールです。
- curlコマンドをfetchに変換するにはどうすればよいですか?
- curlコマンドを入力ボックスに貼り付けると、cURL to Fetch変換ツールが即座に右側にfetch()相当のコードを表示します。コピーまたはrequest.jsとしてダウンロードできます。
- cURL to Fetch 変換ツールはHTTPメソッドをどう決めますか?
- -X または --request を渡せばそれを使用します。それ以外の場合、データボディがあればPOST、なければGETをデフォルトとします。
- -u のBasic認証や -G のクエリデータに対応していますか?
- はい。-u または --user の値はAuthorization: Basicヘッダーにbase64エンコードされます。また-Gを使うと、-dのデータはcurlと同様にクエリ文字列としてURLに付加され、リクエストボディは空のままになります。
- 変換時、私のcurlコマンドはどこかに送信されますか?
- いいえ。curl to fetchの変換は完全にブラウザ内で実行されるため、コマンドやその中のトークンはローカルで処理され、デバイスから外に出ることはありません。
関連ツール
すべての ArrayKit ツール