跳到正文
馬克工具箱

cURL 轉程式碼

貼上 curl 命令(比如從瀏覽器開發者工具複製的),得到可以直接執行的等效程式碼。請求標頭、JSON 請求體、表單上傳和認證資訊都會保留,命令不會被執行或上傳。

在瀏覽器本地執行,輸入的內容和檔案都不會上傳

在 Chrome 或 Edge 開發者工具的「網路」面板中右鍵某個請求,選擇「複製 → 以 cURL 格式複製」(bash 或 cmd 均可)。

使用步驟

  1. 貼上 curl 命令,或載入示例。
  2. 選擇 JavaScript fetch、Node.js axios、Python requests 或 Go。
  3. 複製生成的程式碼到專案中。

引數說明

支援的引數
-X、-H、-d / --data-raw / --data-binary / --data-urlencode、--json、-F、-u、-b、-A、-e、-G、-I、-L、-k、--compressed,短引數、長引數和 --引數=值 寫法都可以。-s、-v、-o 等隻影響輸出的引數會被忽略。
JSON 請求體
Content-Type 為 JSON 的請求體會轉成物件字面量(例如 Python 中的 json=payload),方便修改。
重定向
curl 不加 -L 時不跟隨重定向,生成的程式碼保持一致,例如 Python 中的 allow_redirects=False。

示例

這條從瀏覽器裡複製出來的命令:

curl -X POST https://api.example.com/v1/users \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer TOKEN' \
  -d '{"name":"Ada","age":36}'

用 fetch 會變成:

const response = await fetch("https://api.example.com/v1/users", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    "Authorization": "Bearer TOKEN",
  },
  body: JSON.stringify({
    "name": "Ada",
    "age": 36
  }),
  redirect: 'manual',
});

用 Python requests 則是:

response = requests.post("https://api.example.com/v1/users", headers=headers, json=payload, allow_redirects=False)

在 Python 裡,headers 中不再包含 Content-Type,因為 json= 引數會自動設定它。redirect: 'manual' 和 allow_redirects=False 保持了 curl 預設不跟隨重定向的行為。

常見問題

怎麼從瀏覽器複製 curl 命令?

開啟開發者工具,進入「網路」面板,右鍵某個請求,選擇「複製 → 以 cURL 格式複製」。bash 和 Windows cmd 兩種格式都能辨識。

我的 Token 和 Cookie 會被髮送出去嗎?

不會。命令只在瀏覽器中解析,不會執行也不會上傳。分享生成的程式碼前記得刪掉金鑰。

為什麼提示引數不支援?

客戶端證書、代理等沒有簡單對應寫法的引數不會被轉換,刪掉後再在程式碼裡手動設定。

隱私說明

本工具完全在瀏覽器中執行,檔案和文字都在你的裝置上處理,不會上傳到我們的伺服器。

相關工具