API・HTTPツール

cURLコンバーター同じリクエストを別の言語へ

同じリクエストを別の言語へ

cURLコンバーター

入力

入力はこのブラウザー内で処理され、サーバーには送信されません。

結果

オプション

フラグ:-X、-H、-d、--data-raw、--data-binary、--data-urlencode、-G、-I、--url。その他のフラグ、重複・空・通信層管理のヘッダーは拒否します。

逆変換ではFetchのredirect: "manual"またはAxiosのmaxRedirects: 0が必要です。AxiosのJSON文字列本文にはtransformRequest: []が必要で、JSONオブジェクトリテラルにも対応します。

対象:Fetch Node18+、Axios Node、Python requests、PHP cURL、Go標準ライブラリ、Java11+、C#9+、Ruby標準ライブラリ。コードは実行しません。

上限:UTF-16で100,000単位、引数1,000個、ヘッダー100個。JSONの深さ10、ASTノード5,000個。

curl、Fetch、Axiosの単一リクエストを貼り付けるか、サンプルを確認してください。

cURLコンバーターはAPI資料のサンプルをプロジェクトに移すときに役立ちます。URL、ヘッダー、本文を手で書き直す前に、生成されたコードで内容を確認できます。

curlコード変換でPythonやJavaScriptの書き方を比較できます。curlからfetch、axiosへの変換だけでなく、対応する単一の呼び出しからcurlへ戻すこともできます。

cURLコンバーターを使う理由

八つの出力を同じ内容で比較

cURLコンバーターはメソッド、URL、ヘッダー、本文を一つのモデルで管理します。ターゲットを変更しても入力し直す必要はありません。ライブラリ固有の動作は別途確認してください。

一つのリクエストから複数言語のコードが分岐する図。

呼び出しをコマンドに戻す

対応するFetchやAxiosのリテラルからcurlを作成し、資料のサンプルに利用できます。変数や動的な式を実行して値を取得することはありません。

JavaScriptの呼び出しが一つのcurlコマンドに戻る図。

入力方向と更新のタイミング

01

一つのリクエストを用意

初期状態は空です。入力形式を選び、HTTP(S)の絶対URLを指定します。Unicodeはパーセント符号化してください。サンプルも適用前に確認できます。

02

自動更新を切り替える

自動変換は350ms待って実行します。無効にすると変換ボタンかCtrl/Cmd+Enterで実行できます。入力変更後の古い結果はエクスポートできません。

03

置換する前にプレビュー

整形、サンプル、消去は確認後に適用し、一度取り消せます。コピーするコードにトークンが残っていないか、共有前に確認してください。

変換できるリクエストの要素

八種類のコード

Node18+のFetch、NodeのAxios、Python requests、PHP、Go、Java、C#、Rubyを生成します。ブラウザへ移す場合はCORSも確認してください。

テキスト本文

データ引数はUTF-8本文になります。-Gはデータをクエリーへ移します。対応メソッドはGET、HEAD、POST、PUT、PATCH、DELETE、OPTIONSです。

リテラルの静的解析

Fetchオプション、Axios設定と対応メソッドを読み取ります。純粋なJSONリテラルのJSON.stringifyも実行せずに解釈します。

位置付きエラー

未対応の構文やオプションは生成を止めます。失敗後に以前の結果を誤ってコピーすることも防ぎます。

構文とサイズの制限

単一の入力
複数コマンド、パイプ、シェル展開、URLの資格情報やフラグメント、globは扱いません。URLはASCIIのHTTP(S)絶対形式のみです。
対応フラグ
-X、-H、-d、--data-raw、--data-binary、--data-urlencode、-G、-I、--urlの対応する組み合わせを使えます。不明なものはエラーです。
省略せず拒否
重複ヘッダー、空ヘッダー削除、-u、-b、リダイレクト設定、multipart、ファイル入力は未対応です。GETとHEADの本文も拒否します。
動的コードは対象外
変数、関数、spread、計算プロパティは扱いません。静的JSONは深さ10、ASTノード5,000までです。 逆変換ではFetchのredirect: "manual"またはAxiosのmaxRedirects: 0が必要です。AxiosのJSON文字列本文にはtransformRequest: []が必要で、JSONオブジェクトリテラルにも対応します。
入力上限
UTF-16で100,000単位、コマンド引数1,000個、ヘッダー100個までです。超過した入力は切り捨てずエラーにします。 整形後にUTF-16で100,000単位を超える場合、プレビューはできますが入力への適用はできません。生成結果全体は引き続きエクスポートできます。
実行環境の差
通信は試しません。Axios Nodeはリダイレクトと本文の自動変換を無効にします。コード内の秘密情報は自動的には隠れません。 既定のAcceptはcurl/Fetchが*/*、Axiosがapplication/json, text/plain, */*として明示されます。AxiosのDELETE/OPTIONS文字列本文には明示的なContent-Typeが必要です。URLでRFC3986が許可しない文字はパーセント符号化し、空のuserinfoも使用しないでください。

cURLコンバーターの質問

対応する出力言語は?

Fetch、Axios、Python、PHP、Go、Java、C#、Rubyです。cURLコンバーターは対応するFetchとAxiosのリテラルもcurlへ戻せます。

ファイルのmultipart送信も変換できる?

この版ではmultipartやファイル入力は扱いません。ファイル内容を取得できないため、変換成功として出力することはありません。

入力したコマンドは外部送信される?

入力の解析はブラウザ内で行います。入力コマンドを送信したり、そのURLを開いたりしません。

Windows形式が解析できないのはなぜ?

この版はPOSIX形式の限定された引用符と行継続に対応します。CMDやPowerShell全体の構文には対応しません。

Postmanのcurlを書き換えられる?

単一のリクエストで対応フラグだけを含むものは利用できます。bash形式を選び、エラーになったオプションの意味を確認してください。

結果に問題がありますか?

次のコードを確認する

cURLコンバーターで本文とヘッダーを確認し、生成コードをプロジェクトの環境に合わせてください。