# cURLをコードに変換

cURLコマンドを貼り付けると、同じリクエストをfetch、Axios、Python requests、Go、PHPのコードで得られます。実行も送信もしません。

https://codeknife.dev/ja/curl-konbaato/

## できること

cURLコマンドを、fetch、Axios、Python requests、Go、PHP用のコードに変換します。コマンドはテキストとして読み取るだけで、実行もリクエストの送信もしません。

## 使い方

1. cURLコマンドを貼り付けるか、テキストファイルをドロップします。ブラウザーのネットワークパネルからコピーしたコマンド（バックスラッシュによる行継続を含む）も使えます。
2. **変換先**で言語を選びます。
3. コードをコピーまたはダウンロードします。変換できなかったオプションはその下に表示されます。

## 例

`curl -u alice:s3cret https://api.example.com/private` は、fetchでは `Authorization: Basic YWxpY2U6czNjcmV0` ヘッダー付きのリクエストに、Pythonでは `auth=("alice", "s3cret")` になります。

## 知っておくと便利なこと

- 対応：メソッド（`-X`）、ヘッダー（`-H`）、データ（`-d`、`--data-raw`、`--data-binary`、`--data-urlencode`、`--json`）、`-G`、Basic認証（`-u`）、Cookie（`-b`）、User-Agent（`-A`）、Referer（`-e`）。
- 同じヘッダーを2回指定した場合は最後の値が残ります。Content-Typeのない本文には、cURLと同じくフォーム用のタイプが付きます。
- ファイル（`-d @file`）、アップロード（`-F`）、プロキシ、TLSのオプションは変換されません。コードで省かれたものが分かるよう、一覧に表示されます。
- コマンドにはトークンやパスワードが含まれがちなので、このツールには広告がなく、貼り付けた内容の履歴や共有リンクも残しません。

## 貼り付けたコマンドはどうなりますか？

コマンドはシェルと同じ規則で単語に分割され（実行はされません）、メソッド、ヘッダー、データ、Basic認証、URLといったオプションが読み取られます。結果はプロジェクトに貼り付けられるコードとして出力されます。-sや--compressedのようにリクエストを変えないオプションは、変換されなかったものとして一覧に表示されます。

## よくある質問

### コマンドを実行したり、リクエストを送信したりしますか？

いいえ。コマンドはテキストとして読み取られ、ブラウザー内でコードに変換されるだけです。実行もリクエストの送信も行いません。

### トークンやパスワードを含むコマンドを貼り付けても安全ですか？

テキストはブラウザー内にとどまり、当社のサーバーには送信されません。このページには広告も表示されません。それでも、コードを共有する前に実際の秘密情報はプレースホルダーに置き換え、信頼できない場所に貼り付けたトークンは再発行してください。

### どのオプションに対応していますか？

メソッド（-X）、ヘッダー（-H）、データ（-d、--data-raw、--data-binary、--data-urlencode、--json）、-G、Basic認証（-u）、Cookie、User-Agent、Refererに対応しています。-d @body.jsonのようなファイルやフォームのアップロード（-F）はここでは読み取れないため、変換されなかったものとして表示されます。