cURLコマンドをコードに変換
ガイド
cURLをコードに変換
curlコマンドを貼り付けて、Python、JavaScript、PHP、Go、またはRubyでのHTTPクライアントコードに即座に変換できます。変換はブラウザ内で実行され、curlをリアルなシェル認識可能なトークナイザーでパースし、実際に使用しているフラグ(ヘッダー、JSONおよびフォームボディ、マルチパートアップロード、基本認証、クッキー、リダイレクト、プロキシ、タイムアウト)を各ターゲット向けに適切なコードにマッピングします。
チャットアシスタントに質問するのではなく、出力は決定論的です。同じcurlコマンドは常に同じコードを生成し、ヘッダーの幻覚、誤ったフラグマッピング、または発明されたライブラリ呼び出しはなく、サポートされていないフラグはインラインの通知として表示され、生成されたコードが何を実行し、何をカバーしていないかを明確に確認できます。
使用方法
- 入力ボックスに完全なcurlコマンドを貼り付けます(
\は問題ありません)。 - ドロップダウンからターゲット言語を選択してください — Python (requests)、JavaScript (fetchまたはaxios)、Node.js (node-fetch)、PHP (Guzzleまたはcurl拡張)、Go (net/http)、またはRuby (Net::HTTP)。
- コードをタイプ中に再生成されます。コピーボタンを使用して取得したり、対応する拡張子でファイルにダウンロードできます。
- フラグが正確にマッピングできない場合、通知が表示され、何も無視されません。
機能
- 8つの出力ターゲット — Pythonのrequests、fetch、axios、node-fetch、Guzzle、php-curl、Goのnet/http、RubyのNet::HTTPすべてが適切なスタイルで提供されます。
- シェル認識可能なパーサー — シングルおよびダブルクォート、バックスラッシュエスケープ、行継続、結合短フラグ(
-sLkと、--flag=value)の構文を処理します。 - ボディのスマート検出 — JSONペイロードはタイプ付きオブジェクトリテラルに、urlencodedボディはキー/バリューマップに、マルチパートアップロードはFormDataまたはマルチパート部分に変換されます。
-F認証とクッキー - 、ベアラートークン、およびクッキーはターゲット言語に適切な場所に配置されます。 —
-u user:passトランスポートフラグ-b name=value、およびHTTPバージョン選択子は保持されます。 - プライバシーのデフォルト —
-L,-k,--compressed,-x proxy,--connect-timeout,--max-time— curlコマンドはあなたのブラウザに留まります。APIトークンをチャットサービスに貼り付けることのない場合に便利です。 - cURLコマンドラインツールは実際に何をしますか? cURLはネットワークプロトコルを介してデータを転送するためのコマンドラインクライアントです。コマンドラインフラグからHTTP(またはFTP、SMTPなど)リクエストを構築し、送信し、応答を表示します。フラグは直接HTTPコンセプト(メソッド、ヘッダー、ボディ、認証、リダイレクト、TLS設定)にマッピングされており、そのためcURLコマンドはドキュメントやバグレポートで、HTTPリクエストを言語に依存しない方法で記述するのによく使われます。
よくある質問
-
HTTPリクエストが異なる言語でどのように構造化されているのか?
各HTTPクライアントライブラリは、同じワイヤーレベルリクエストをそのホスト言語の慣習でラップします。Pythonのrequestsはリクエストをキーワード引数付きの関数呼び出しとして扱い、axiosおよびfetchは関数に渡される構成オブジェクトとして扱います。GoはRequest構造体を構成し、ヘッダーを付加してクライアントを実行します。ワイヤー上のHTTPバイトはまったく同じです — ただ呼び出し場所が異なります。変換は1つの表面構文を別の構文に変換しながら、そのワイヤーパイロットを維持します。
-
application/jsonとapplication/x-www-form-urlencodedボディの違いは?
どちらもリクエストボディを送る一般的な方法ですが、データを異なる方法でエンコードしています。application/x-www-form-urlencodedはボディをURLスタイルのkey=valueペアで結合し、アンパンドで接続した形式を用いています。application/jsonはJSONドキュメントを送信し、ネストされたオブジェクト、配列、数値、論理値などのタイプをサポートします。サーバーはContent-Typeヘッダーに基づいてボディをパースするため、正しいタイプを選ぶことが受信側でデータを読み取る上で重要です。
-
cURLはデフォルトでリダイレクトを追跡しないのはなぜですか?他のHTTPクライアントはなぜ追跡しますか?
リダイレクトを自動的に追跡することはバグを隠し、セキュリティリスクを生む可能性があります — 3xx応答が別のホストにリダイレクトする場合、元の認証ヘッダーがそのホストに送信されない可能性があります。cURLは保守的なデフォルトを選択し、-Lでオプトインが必要です。多くの高レベルクライアントライブラリ(Python requests、axios、fetch)は一般的なケースを最適化し、リダイレクトをデフォルトで追跡します。cURLコマンドを変換する際、この違いは重要です — プレーンなcURLコマンドから生成されたコードは、cURLの動作を正確に再現するために、リダイレクトの追跡を明示的にオプションで無効にする必要があります。
-
curlコマンドをここに貼り付けてください、たとえば curl -X POST https://api.example.com/users -H 'Content-Type: application/json' -d '{"name":"Ada"}'
cURLコマンドからコードに変換
恵 スコアボードが到着しました!
スコアボード ゲームを追跡する楽しい方法です。すべてのデータはブラウザに保存されます。さらに多くの機能がまもなく登場します!
