curlコマンドの変換ツール

ターミナル、マニュアル、ブラウザの「コピー」メニューから1つのcurlコマンドを貼り付けます。同じリクエストを行うrequestsのPythonコードと、各オプションが何になったかの一覧が得られます。

無料 ブラウザで動作 2026年11月10日火曜日確認済み

1つのコマンドです。引用符や、バックスラッシュで書いた改行は、シェルが読む方法で読まれます。残したい本物のパスワードやトークンは貼り付けないでください。

結果

Pythonのコード — スクリプトに貼り付けます。requestsライブラリがインストールされている必要があります。
Pythonのコード
JavaScriptのfetchコード

変換で行ったこと

このツールはブラウザ内で動作します。入力した内容が当社に送信されることはありません。

使い方

  1. 1つのcurlコマンドをcurlコマンドに貼り付けます。空白を含む値の周りの引用符は残します。
  2. 変換で行ったことを読み、メソッド、クエリ文字列、本文、ヘッダーを各オプションについて確かめます。
  3. Pythonのコードを、requestsライブラリをインストールしたスクリプトにコピーするか、JavaScriptのfetchコードをページに貼り付けます。
  4. 注記やエラーが出た場合は、まずコマンドを直し、それからコードをもう一度コピーします。

読み取るcurlのオプション

このツールは、ほとんどのリクエストで使われるオプションを読みます。それぞれが、Pythonの呼び出しを既知の方法で変えます。ほかのオプションは、メッセージを出して変換を止めるので、推測は行われません。

  • -X と --request はメソッドを、書かれたとおりに設定します。マニュアルによれば、送られる語を変えるだけです。
  • -H と --header はヘッダーを追加します。X-Flag; のような行は空の値を送り、コロンの後が空の -H はヘッダーを取り除きます。
  • -d、--data、--data-raw、--data-binary は本文を設定します。複数の -d の値は & で結ばれます。-G と一緒の場合は、代わりにクエリ文字列になります。
  • -G と --get、-I と --head、-L と --location は、メソッドかリダイレクトの扱いを変えます。
  • -u と --user、-A と --user-agent、-b と --cookie は、認証のタプル、User-Agentヘッダー、Cookieヘッダーを設定します。
  • --json は値を本文として送り、JSON用のヘッダーを設定します。それらは -H で上書きできます。

コマンドの読み方

テキストは、POSIXシェルが分けるのと同じ方法で単語に分けられます。一重引用符は、すべての文字をそのまま保ちます。二重引用符の中では、バックスラッシュは $、バッククォート、二重引用符、バックスラッシュ、改行の文字だけをエスケープします。行末のバックスラッシュは、その行を次の行につなげます。$HOMEのようなシェルの展開は実行されないので、そのような値はエラーとして示されます。

このツールが確かめないこと

  • リクエストを送らないので、サーバーがそれを受け付けるかは分かりません。
  • ブラウザは fetch にクロスオリジンのルールを適用します。同じコマンドがターミナルで動いても、別のサイトへのリクエストはブラウザでブロックされることがあります。このツールはそれを試しません。
  • @で指定されたファイルは開かず、Cookieファイルも読みません。
  • 出力はPythonだけです。コードはrequestsライブラリを使い、それは別にインストールします。

計算例:JSON本文をもつPUT

このコマンドは、1つの項目に対して、JSONの本文をもつPUTを送ります。メソッドは -X から、ヘッダーは -H から、本文は -d から来ます。Pythonの呼び出しも同じ3つの部分をもち、手順の一覧には、どのオプションがどの値を与えたかが示されます。

curlのオプション Pythonの引数 コード中の値
-X PUT method 'PUT'
-H 'Content-Type: application/json' headers 'Content-Type': 'application/json'
-d '{"name": "Ada"}' data '{"name": "Ada"}'

よくある質問

コードがほかのライブラリではなくrequestsを使うのはなぜですか?

requestsは、このツールが変換先とするPythonのライブラリで、そのrequest関数は、メソッド、URL、ヘッダー、データ、認証を1回の呼び出しで受け取ります。同じ呼び出しで、コマンドが指定するどのメソッドも扱えます。

-Xを書いていないのに、リクエストがPOSTとして送られるのはなぜですか?

curlのマニュアルでは、-dはPOSTを使い、--jsonもPOSTを送ります。送られる語を変えるには、-X PUT のように、望むメソッドを -X で書いてください。

変換で -G は何をしますか?

マニュアルが述べるとおり、-d のデータをクエリ文字列としてURLに移し、リクエストをGETにします。その場合、Pythonの呼び出しは完全なURLをもち、本文はありません。

コマンドのパスワードは、どこかに送られますか?

いいえ。コマンドはブラウザの中で読まれ、何も保存も当社への送信もされません。ただし、自分で管理していないページでは、テスト用のパスワードやトークンを使ってください。

出力でリダイレクトに触れているのはなぜですか?

curlは -L を付けたときだけリダイレクトに従います。requestsは既定で、すべてのメソッドについてリダイレクトに従い、fetchも従うので、注記は -L のないcurlの呼び出しに合わせる方法を示します。

このツールは @ で指定されたファイルからデータを読めますか?

読めません。このツールはファイルを開かないので、@ の値はエラーとして示されます。データそのものをコマンドに貼り付けてください。

出典

数値と文章の最終確認日:2026年11月10日火曜日。

当サイトの運営に必要なCookieを使用します。お客様の同意があれば、Googleは広告用Cookieを使い、パーソナライズ広告を表示します。拒否された場合も広告は表示されますが、パーソナライズはされません。