cURL からコード
curl コマンドを貼り付け、送信されるリクエストを確認して、7言語のコードとしてコピーできます。
解析とコード生成はこのブラウザタブ内で行われます。何もアップロード、保存、送信されません。当方にも送信されません。
上に curl コマンドを貼り付けると、リクエストの概要とコードが表示されます。
使い方
- DevTools(Copy as cURL)、API ドキュメント、チャットなどから curl コマンドを貼り付けてください。入力に合わせてコードが表示されます。
- まず概要行を確認します。メソッド、URL、ヘッダー数、本文サイズです。概要が正しければ、下のコードも正しいはずです。
- 対象言語を選ぶと、コマンドに触れることなくコードとダウンロードのファイル名が変わります。
- 警告は、コードに反映されないもの(プロキシ、リダイレクト、シェル変数など)を示します。エラーの場合は中途半端なリクエストを表示せず、生成を停止します。
- リセットは入力をクリアして Python に戻します。ページの再読み込みも同じです。
例
コマンド
curl -X POST 'https://httpbin.org/anything?from=ja' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer demo-token' \ -d '{"name": "Ada", "city": "London"}'
Python
import requests url = "https://httpbin.org/anything?from=ja" headers = { "Content-Type": "application/json", "Authorization": "Bearer demo-token", } data = "{\"name\": \"Ada\", \"city\": \"London\"}".encode("utf-8") response = requests.request("POST", url, headers=headers, data=data) print(response.status_code) print(response.text)
上の概要とコードはそのコマンドから生成されたもので、このツールが httpbin を呼び出すことはありません。対応するサブセットは、メソッド、URL、ヘッダー、本文、Basic/Bearer 認証、タイムアウトです。
ルール・制限・既知の問題
- ファイルアップロードはありません。-F、-T、@file の入力は拒否されるため、ファイルを黙って落とすコードが生成されることはありません。
- シェル実行はありません。変数、コマンド置換、パイプ、複数コマンドは展開されず、$TOKEN は警告付きで文字どおりに残ります。
- 1コマンドにつき1つの URL です。余分な URL は警告付きで無視され、ループになることはありません。
- 転送オプションは再現されません。-L、-k、プロキシ、クライアント証明書、HTTP バージョン、リトライ、圧縮は警告のみです。生成されるコードはクライアントの既定値を使います。
- curl の暗黙の既定値はありません。User-Agent: curl/… と Accept: */* は追加されず、-A / -H で指定してください。
- POSIX の引用符のみです。単一引用符、二重引用符、$'...'、バックスラッシュによる行継続に対応し、Windows CMD のエスケープは解析しません。
- 重複ヘッダーは Go、PHP、Java、C#、Ruby では保持されますが、Python と JavaScript の辞書では「, 」で統合されます。
- 本文付きの GET/HEAD リクエストは、警告付きで書かれたとおりに生成されます。fetch はこれを拒否します。
- 履歴や永続化はありません。再読み込みですべて消え、共有ボタンはページのリンクを共有するだけで、コマンドは共有しません。
- このツールは変換のみで、リクエストを送信することはありません。応答も確認したい場合は API クライアントをご利用ください。
関連ツール
コマンドを変換した後に便利なツールです。