curl を Node.js に変換
組み込みの http モジュールを使用して、curl コマンドを Node.js コードに変換します。curl2code は WebAssembly を介してブラウザ内で完全に動作するため、API キーやデータは非公開のまま保たれます。ブラウザ側の JavaScript については、curl to JavaScript 変換ツールをご覧ください。Python をお好みの場合は、curl to Python をお試しください。以下に、すぐに使える例を掲載しています。
ブラウザから curl をコピーする方法
- 1
デベロッパーツールを開く
F12 キーを押すか、Ctrl+Shift+Iを使用してブラウザのデベロッパーツールを開きます。
- 2
ネットワークタブに移動
ネットワークタブをクリックし、HTTP リクエストをトリガーするアクションを実行します。
- 3
cURL としてコピー
リクエストを右クリック → コピー → cURL としてコピー を選択します。その後、上に貼り付けてください。
よくある質問
Node.js httpモジュールとは何ですか?
httpおよびhttpsモジュールは、依存関係なしでHTTPリクエストを行うためのNode.js組み込みモジュールです。これらはリクエスト/レスポンスストリームを低レベルで制御できます。より高レベルな代替手段として、curl2codeはaxios、node-fetch、got、ky、superagentもサポートしています。
http、axios、node-fetch、gotのどれを使うべきですか?
httpは依存関係がゼロですが、記述が冗長になります。axiosはインターセプターや自動JSONパースを備えたクリーンなAPIを提供します。node-fetchはブラウザのFetch APIを模倣しています。gotはリトライ、ページネーション、ストリームなどの機能が豊富です。プロジェクトのニーズに合わせて選択してください。ブラウザのJavaScriptについては、curl to JavaScript コンバーターをご覧ください。
Node.jsで認証を処理するにはどうすればよいですか?
optionsオブジェクトでAuthorizationヘッダーを設定します。Basic認証の場合は、Buffer.from(user + ':' + pass).toString('base64')を使用します。axiosを使用する場合は、組み込みのauth設定オプションを使用します。curl2codeは、サポートされているすべてのNode.jsライブラリに対して-uおよびBearerトークンフラグを変換します。
Node.jsでマルチパートフォームデータを送信するにはどうすればよいですか?
組み込みのhttpモジュールでは、マルチパートのボディを手動で構築するか、form-dataパッケージを使用します。axiosでは、FormDataインスタンスをbodyとして渡します。Node.js 18以降には組み込みのFormDataクラスがあります。curl2codeは、各ライブラリのバリアントに合わせて-Fフラグを処理します。
Node.jsでHTTPエラーを処理するにはどうすればよいですか?
httpでは、リクエストの'error'イベントをリッスンし、response.statusCodeを確認します。axiosでは、2xx以外のステータスコードに対してエラーがスローされ、try/catchでキャッチできます。gotでも同様のパターンに加え、失敗時の組み込みリトライロジックが使用できます。
Node.jsでストリーミングレスポンスを処理するにはどうすればよいですか?
httpモジュールはデフォルトで読み取り可能なストリームを返します。response.pipe(fs.createWriteStream('file'))のようにパイプ処理します。gotではgot.stream(url)を使用します。axiosではresponseType: 'stream'を設定します。ストリーミングは大きなファイルに最適で、レスポンス全体をメモリに読み込むのを避けることができます。
Node.jsのHTTPリクエストでタイムアウトを設定するにはどうすればよいですか?
httpでは、optionsにtimeoutを渡し、'timeout'イベントをリッスンしてreq.destroy()を呼び出します。axiosはミリ秒単位のtimeoutを受け入れます。gotはtimeout.requestと、設定可能なバックオフを備えた組み込みの自動リトライの両方をサポートしています。
Node.jsでプロキシを使用するにはどうすればよいですか?
組み込みのhttpモジュールでは、手動のプロキシトンネリングが必要です。https-proxy-agentまたはhttp-proxy-agentパッケージを使用してください。axiosはproxy設定を介してプロキシをサポートしています。gotはプロキシアージェントと共にagentオプションを使用します。curl2codeは-xおよび--proxyフラグを適切に変換します。
Node.jsでJSONボディを含むPOSTリクエストを送信する方法は?
curl2codeを使用して、curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URLのようなcurlのPOSTコマンドをNode.jsに変換します。生成されたコードではaxios.post(url, { key: 'value' })を使用します。curl2codeはJSONコンテンツを含む-d/--dataフラグを自動的に検出し、axiosのコードに適切なContent-Typeヘッダーを設定します。
Node.jsでBearerトークン認証を追加する方法は?
curl -H "Authorization: Bearer YOUR_TOKEN" URLをcurl2codeに渡すと、認証ヘッダーheaders: { Authorization: 'Bearer YOUR_TOKEN' }を含むaxiosのコードが生成されます。curl2codeは-H "Authorization: Bearer ..."と--oauth2-bearerフラグの両方からBearerトークンを検出します。Basic authの場合は、-u user:passを使用してください。
Node.jsでContent-Typeヘッダーを設定する方法は?
curl2codeはcurl -H "Content-Type: application/json" URLを、適切なヘッダーheaders: { 'Content-Type': 'application/json' }を含むaxiosのコードに変換します。-dデータの場合、curlはデフォルトでapplication/x-www-form-urlencodedを使用し、-Fフォームアップロードの場合はmultipart/form-dataを使用します。curl2codeはそれぞれを正しいaxios APIにマッピングします。