curl to Node.js 変換ツール
curlコマンドをNode.jsのaxiosコードへ、ブラウザー内で即座に変換します。コマンドはお使いのデバイスに留まります。
あなたのcurlコマンドはブラウザー内でローカルにNode.jsへ変換され、アップロードされることはありません。ただし、本番環境の実際のトークンや認証情報をどのツールにも貼り付けないようにしてください。
ブラウザーのfetch APIがお好みですか?cURL to Fetchをお試しください。
curl to Node.js 変換ツール について
このcurl to node変換ツールは、curlコマンドを、多くのNodeプロジェクトがすでに依存しているリクエストライブラリであるaxiosを中心としたNode.jsスクリプトに書き換えます。curl to axiosツールとして、-X、-H、-d、--data-raw、--json、-u、-b、-G といったフラグを解析し、method・url・headers・data を備えた設定オブジェクトを組み立てるため、リクエストはすぐに発行できる状態です。有効なJSONボディは data フィールド上の本物のJavaScriptオブジェクトになり、axiosが適切なContent-Typeでシリアライズして送信します。一方、フォームや生のボディは文字列のまま保たれます。スニペットは then/catch ハンドラー付きで axios(config) を呼び、ステータスとレスポンスをログ出力するため、スクリプトやサービスにそのまま収まります。変換はブラウザー内で実行されるため、コマンドとその中のトークンはお使いのデバイス上でローカルに処理され、外に出ることはありません。
機能
- method・url・headers・data を備えたaxiosの設定オブジェクトを構築
- axiosが期待する形にHTTPメソッドを小文字化
- 有効なJSONボディを data フィールド上のJavaScriptオブジェクトに変換
- フォームエンコードや生のボディは文字列のまま保ち、二重エンコードを防止
- -u/--user をBasic認証ヘッダーにマッピングし、cookie・user-agent・refererを処理
- -G/--get のデータをクエリ文字列としてURLに付加
- ステータスとレスポンスまたはエラーをログ出力する then/catch ハンドラーを追加
- 結果をコピー、またはワンクリックで request.js としてダウンロード
curl to Node.js 変換ツール の使い方
- curlコマンドをcURLコマンドボックスに貼り付けます。
- 出力パネルで生成されたNode.jsのaxiosスクリプトを読みます。
- 調整またはスキップされたフラグがないか警告バナーを確認します。
- 「コピー」をクリックするか、ファイルを request.js としてダウンロードします。
例
入力
curl -X POST https://api.example.com/users \
-H "Content-Type: application/json" \
-d '{"name":"Ada"}'
出力
const axios = require('axios');
const config = {
method: "post",
url: "https://api.example.com/users",
headers: {
"Content-Type": "application/json",
},
data: {
"name": "Ada"
},
};
axios(config)
.then((response) => {
console.log(response.status);
console.log(JSON.stringify(response.data));
})
.catch((error) => {
console.error(error.response ? error.response.data : error.message);
});
JSONボディは data 上の本物のオブジェクトになり、axiosが代わりにシリアライズします。
よくあるエラーとトラブルシューティング
- スクリプトを実行すると Cannot find module 'axios' がスローされる。 — まず npm install axios で依存をインストールしてください。生成コードはサードパーティのaxiosクライアントを使います。
- require() よりESモジュールを使いたい。 — const axios = require('axios') を import axios from 'axios' に差し替え、package.json に "type": "module" を設定するか、ファイルを .mjs にリネームしてください。
- フォームボディがオブジェクトではなく引用符付きの文字列として表示される。 — これはJSON以外のボディに対し意図的なもので、axiosが再エンコードしないようにしています。解析済みオブジェクトを得るには --json またはJSONのContent-Typeでリクエストを送ってください。
よくある質問
- curlコマンドをNode.jsに変換するには?
- curlコマンドを入力ボックスに貼り付けると、変換ツールが右側にNode.jsのaxiosスクリプトを表示します。コピーまたは request.js としてダウンロードできます。
- 出力はaxiosを使いますか、それとも組み込みのfetchですか?
- axiosを使い、axios(config) 呼び出しを出力します。まず npm install axios でインストールしてください。fetchがお好みなら、代わりにcURL to Fetchツールを使ってください。
- JSONボディはaxiosの設定でどう表現されますか?
- 有効なJSONボディは data フィールドにJavaScriptオブジェクトとして配置され、リクエスト実行時にaxiosがそれをシリアライズしてJSONのContent-Typeを設定します。
- 生成されたコードは古いNodeのバージョンでも動きますか?
- はい。CommonJSの require() とaxiosを使うため、組み込みのfetchに頼ることなく、axiosがインストールされているどのNodeのバージョンでも動きます。
- Node.jsに変換するとき、私のcurlコマンドはアップロードされますか?
- いいえ。curl to nodeの変換は完全にブラウザー内で実行されるため、コマンドやその中の認証情報はお使いのデバイスに留まります。
関連ツール
すべての ArrayKit ツール