cURL コマンドを貼り付け、正規化されたメソッド・URL・ヘッダー・本文を確認してから cURL・fetch・axios のコードをコピーします。再現できない部分はコピーの前に知らせます。
ブラウザ内でローカルに実行対応: 一般的な -X, -H, -d, --url, -u, and -b などの一般的なオプションに対応しています。読み取るのは貼り付けたコマンドだけです。
Import a cURL command or complete the request fields.
Import a cURL command or complete the request fields.
Import a cURL command or complete the request fields.
変換では、入力したメソッド・URL・ヘッダー・本文がそのまま保たれます。アプリにコードを組み込む前に、認証情報、Cookie、リダイレクト、レスポンスの扱い、環境ごとに異なる URL を確認してください。
cURL コマンドを貼り付けると、コード欄の上にあるリクエスト項目(メソッド・URL・1 行 1 件のヘッダー・本文)が埋まります。3 つの欄には同じリクエストが cURL コマンド、ブラウザーの fetch コード、axios 呼び出しとして表示されるので、ターミナルで試したコマンドをそのまま JavaScript のクライアントへ移せます。
解析・エンコード・コード生成はすべてこのタブの中で動きます。ページはリクエストを送信せず、URL を呼び出しません。作業中にブラウザーから出ていくリクエストはありません。貼り付けたコマンドには Authorization ヘッダー、セッション Cookie、API キーが含まれがちなので秘密情報として扱ってください。ページ内に留まりますが、入力欄と生成コードにはそのまま表示されます。
取り込みが読むのは、リクエストを決めるオプションです。-X/--request(メソッド)、-H/--header、-d/--data(-raw・-binary・-ascii を含む)、--data-urlencode、--json、--url、-u/--user(HTTP Basic)、-b/--cookie、-A/--user-agent、-e/--referer、-I/--head。短いオプションは値の連結も受け付けるので -XPOST や -H'Accept: text/html' が通り、-sS や -kL のようにまとめて書くこともできます。複数の -d は curl と同じく & で連結され、--data-urlencode は非予約文字以外をパーセント符号化するため、--data-urlencode 'q=a b&c' は本文 q=a%20b%26c になります。
curl の実行方法だけに関わるスイッチ(-o/--output、-m/--max-time、--retry、-L、-k、-s、--compressed、--http2 など)は受け取りますが無視します。生成コードに対応するものが無いためです。一方、生成コードでは表現できない形でリクエストを変えるものは黙って捨てずに知らせます。-F/--form、-T/--upload-file、-G/--get、-x/--proxy、クライアント証明書、--netrc、-d・-H・-b の @file 値、コロンのないヘッダー行、未知のオプションは「スキップ:」の一覧に並びます。
cURL 欄はコピーではなく入力欄から組み立てます。1 行に 1 オプションで --request、--url、ヘッダーごとの --header、本文の --data を並べ、値はシングルクォートで囲みます。fetch 欄は fetch(url, {…}) を出力し、メソッド・ヘッダーのオブジェクト・本文を書きます。Content-Type に「json」が含まれるときは本文を JSON.stringify({…}) として形を保ち、それ以外は JSON 文字列にします。axios 欄も同じ規則でメソッドを小文字、url・headers・data を並べるので、2 つの JavaScript コードを 1 行ずつ見比べられます。
メソッドはコマンドから取り、既定は GET、本文があれば POST、-I は明示的な -X が無いかぎり HEAD にします。同じ名前のヘッダーは fetch と axios のオブジェクトでは 1 つのキーにまとまり、cURL 欄はすべての行を残します。URL の検証はブラウザーが呼べる形、つまりスキーム付きの絶対 URL を受け付けます。スキームが http:// でも https:// でもない場合もコードは生成しますが、実行できるのは cURL だけだと状態行で知らせます。
変換は一方通行です。cURL コマンド(または手入力したリクエスト)から cURL・fetch・axios のコードを作りますが、fetch や axios のコードを読んで cURL コマンドに戻すことはできません。リクエストを実行もしないので、エンドポイントが応答するか、どのステータスが返るか、トークンがまだ有効かはここでは分かりません。
コマンドの一部はブラウザー用のコードに移せません。curl は本文・ヘッダー・Cookie をファイルから読み、マルチパートフォームを組み立て、プロキシを使い、クライアント証明書を提示できます。ページからはファイルシステムにもプロキシ設定にも届かず、手書きのマルチパート本文には boundary が必要です。こうしたオプションは推測せず一覧で示すので、生成コードには再現できる部分だけが残り、残りはターミナルに留まります。該当する場合はその部分を curl で実行し、移植できる部分にこのページを使ってください。