高速で安全なcURLコンバーター
開発者は、APIドキュメントやチュートリアル、ブラウザでのネットワークリクエストのデバッグ時などにcURLコマンドをよく目にします。しかし、これらのコマンドライン文字列を手動でアプリケーションコードに変換するのは面倒でエラーが起きやすく、複雑なヘッダーやネストされたJSONペイロードを扱う場合はなおさらです。
このcurlコンバーターはその作業を自動化し、curlコマンドを変換してすぐに使えるコードスニペットを瞬時に生成します。変換処理はすべてブラウザ内で完結するため、ベアラートークン、APIキー、プライベートなペイロードなどの機密データが端末の外部に送信されることはありません。データ漏洩やサーバーログへの記録を心配することなく、本番環境の認証情報を含むコマンドを安全に貼り付けることができます。
対応している出力フォーマット
現在、このツールはコマンドラインリクエストを、最も広く利用されている2つのプログラミング環境向けに変換できます。
JavaScript (fetch)
JavaScript開発者は、APIの例をフロントエンドやNode.jsのコードに変換する作業を頻繁に行います。JavaScriptオプションを選択すると、cURLのメソッド、ヘッダー、データ引数が標準的な fetch() 呼び出しに直接マッピングされます。これにより、curlからJavaScriptへの変換がワンクリックで完了します。ヘッダーは自動的にJavaScriptオブジェクトとして構築され、JSONペイロードは文字列化されたボディとして適切にフォーマットされるため、そのまま async/await 関数に組み込むことができます。
Python (requests)
Python開発者は、HTTP通信において requests ライブラリを多用します。このツールはcURLの構文を解析してクリーンなPythonコードを生成し、適切なメソッド(requests.get や requests.post など)を自動的に選択して、ヘッダーとデータをPythonの辞書型として構築します。curlからPython requestsへの変換を利用することで、細かなヘッダー設定の見落としや、認証トークンのフォーマットミスを防ぐことができます。
よくあるユースケース
外部APIとの連携
Stripe、Twilio、GitHubなど、最近のAPIドキュメントの多くは、主にcURLでサンプルコードを提供しています。ターミナルでの簡単なテストには便利ですが、最終的にはアプリケーション内に実装する必要があります。ドキュメントのcURLコマンドをこのツールに貼り付けるだけで、実装のベースとなるコードを簡単に生成できます。
ブラウザのリクエストの再現
Webアプリのデバッグでは、ブラウザの開発者ツールの「ネットワーク」タブを開き、エラーになったリクエストを右クリックして「cURL としてコピー (Copy as cURL)」を選択する手法がよく使われます。コピーした文字列をこのツールに貼り付ければ、そのままプログラムのコードに変換できます。自動テストの作成、スクレイピング、複雑なブラウザ環境から切り離したバグの特定などに非常に便利です。
プロトタイピングとテスト
多くの開発者は、まずターミナル上でHTTPリクエストを作成し、動作確認を行うことを好みます。curlコマンドで期待通りに「200 OK」のレスポンスが返ってきたら、そのコマンドをこのツールに入力してください。ターミナルでのテストと全く同じリクエストを送信するfetchやrequestsのコードを瞬時に生成できます。
変換の仕組み
入力テキストを貼り付けると、ツールが文字列を解析し、HTTPリクエストの主要な構成要素を抽出します。
- URL: リクエストの宛先エンドポイント。
- メソッド:
-Xまたは--requestフラグから抽出されます(例: GET、POST、PUT、DELETE)。省略された場合はデフォルトでGET、データが含まれる場合はPOSTになります。 - ヘッダー: 各
-Hまたは--headerフラグから抽出され、辞書(dictionary)またはオブジェクトとしてまとめられます。 - データ / ペイロード:
-d、--data、または--data-rawフラグから抽出されます。
当ツールは標準的なAPIリクエストの大部分に対応していますが、cURLは数百もの複雑なフラグ(--compressed、--resolve、特定のSSL証明書パスなど)を持つ多機能なユーティリティです。標準的な fetch や requests の設定に直接マッピングできないフラグを検出した場合、ツールはHTTPリクエストの主要部分を優先し、それらの特殊なフラグを無視します。
無視された引数は、生成されたコードの下に一覧表示されます。これにより、除外された項目を正確に把握できるため、高度なプロキシやSSL設定が必須な場合は、アプリケーションのコード内で手動で設定を追加できます。
関連する便利なツール
APIを扱う際、単にリクエストを作成する以上の作業が必要になることがよくあります。生成したコードでリクエストに成功した後、取得したデータを読みやすくするためにJSONフォーマッターでの整形が必要になる場合があります。リクエストが失敗し、受信したレスポンスコードの意味を調べる場合は、HTTPステータスコードのリファレンスをご確認ください。また、変換前にエンドポイントURL自体を分解・変更したい場合は、URLパーサーを使って特定のクエリパラメータを抽出・編集できます。