將 curl 轉換為 Node.js

使用內建的 http 模組將 curl 指令轉換為 Node.js 程式碼。curl2code 完全透過 WebAssembly 在您的瀏覽器中執行 —— 您的 API 金鑰與資料將保持私密。若需瀏覽器端 JavaScript,請參閱我們的 curl 轉 JavaScript 轉換器。如果您偏好 Python,請嘗試 curl 轉 Python。下方提供即插即用的範例。

如何從瀏覽器複製 curl

  1. 1

    開啟開發者工具 (DevTools)

    按下 F12Ctrl+Shift+I 來開啟您的瀏覽器開發者工具。

  2. 2

    前往網路 (Network) 分頁

    點擊 Network 分頁,並執行觸發 HTTP 請求的操作。

  3. 3

    複製為 cURL

    右鍵點擊該請求 → CopyCopy as cURL。然後將其貼在上方。

常見問題解答

什麼是 Node.js http 模組?

httphttps 模組是 Node.js 內建模組,用於在不依賴任何套件的情況下發送 HTTP 請求。它們提供了對請求/回應串流的底層控制。對於高階替代方案,curl2code 也支援 axiosnode-fetchgotkysuperagent

http vs axios vs node-fetch vs got — 我應該使用哪一個?

http 是零依賴但程式碼較冗長。axios 提供簡潔的 API,具備攔截器(interceptors)和自動 JSON 解析功能。node-fetch 鏡像了瀏覽器的 Fetch API。got 功能豐富,支援重試、分頁和串流。請根據專案需求選擇。對於瀏覽器 JavaScript,請參閱我們的 curl 轉 JavaScript 轉換器

如何在 Node.js 中處理身份驗證?

在選項物件中設定 Authorization 標頭。對於基本驗證,使用 Buffer.from(user + ':' + pass).toString('base64')。使用 axios 時,請使用內建的 auth 設定選項。curl2code 會為所有支援的 Node.js 函式庫轉換 -u 和 Bearer 權杖旗標。

如何在 Node.js 中發送多部分表單資料?

使用內建的 http 模組時,需手動建構多部分 body 或使用 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 時,在選項中傳遞 timeout 並監聽 'timeout' 事件,然後呼叫 req.destroy()。Axios 接受以毫秒為單位的 timeout。Got 同時支援 timeout.request 和具備可設定退避(backoff)機制的內建自動重試。

如何在 Node.js 中使用代理伺服器?

內建的 http 模組需要手動進行代理隧道(proxy tunneling)。請使用 https-proxy-agenthttp-proxy-agent 套件。Axios 透過 proxy 設定支援代理。Got 則使用 agent 選項搭配代理代理人(proxy agents)。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,它會生成帶有授權標頭的 axios 程式碼:headers: { Authorization: 'Bearer YOUR_TOKEN' }。curl2code 會從 -H "Authorization: Bearer ..."--oauth2-bearer 旗標中偵測 Bearer 權杖。對於 Basic auth,請使用 -u user:pass

如何在 Node.js 中設置 Content-Type 標頭?

curl2code 將 curl -H "Content-Type: application/json" URL 轉換為帶有正確標頭的 axios 程式碼:headers: { 'Content-Type': 'application/json' }。對於 -d 數據,curl 預設為 application/x-www-form-urlencoded;對於 -F 表單上傳,它使用 multipart/form-data。curl2code 會將每一項映射到正確的 axios API。

實用連結

curl 指南

將 curl 轉換為其他語言