實用工具
輸入
結果
結果會顯示在這裡。API 文件的範例是 curl 指令,瀏覽器開發人員工具複製請求也是 curl,但你要寫的並不是 shell 腳本。這個工具以 shell 和 curl 的方式讀取指令——引號、反斜線換行接續、$'…' 字串、多個 -d 以 & 串接、--json 同時設定兩個 JSON 標頭、-G 把資料移到查詢字串——再寫出同一個請求的 JavaScript fetch、Python requests、Go net/http、axios 或 PHP cURL 程式碼。無法轉換的部分,例如代理伺服器、digest 驗證或用戶端憑證,會寫在產生的程式碼開頭的註解裡,而不是默默丟掉。
它是怎麼運作的
- 指令依 POSIX shell 的引號規則拆分;貼上 Chrome 的「複製為 cURL (cmd)」時,也會處理 cmd.exe 的 ^ 跳脫字元。
- JSON 請求主體會寫成該語言原生的字面值——Python 用 dict,fetch 和 axios 用物件——方便修改;其他請求主體則保留 curl 實際送出的字串。
- -F 變成 multipart 表單並從磁碟讀取檔案,-u 變成 Basic 驗證,-m 變成逾時,-k 變成目標語言略過憑證驗證的寫法。
- 管線之後的內容(例如 | jq)不會轉換,註解裡會說明;$API_KEY 這類 shell 變數原樣保留,並提醒你替換。
你的資料去了哪裡
哪也沒去。本工具完全在你的瀏覽器裡執行:你貼上的文字由頁面處理,不會傳輸到任何伺服器,也不會寫進任何紀錄。
本工具免費且免登入,執行結果只存在於你目前的頁面裡,不會被儲存到任何地方。
它要花多少
本工具完全免費,不需要登入,也不消耗點數。
常見問題
- 支援 Chrome 和 Firefox 的「複製為 cURL」嗎?
- 支援。bash 版本(「複製為 cURL」或「複製為 cURL (bash)」)就是一般的 shell 引號。在 Windows 上,Chrome 另外提供「複製為 cURL (cmd)」,以 ^ 跳脫字元,這種格式也能辨識並還原。PowerShell 版本根本不是 curl 語法,而是 Invoke-WebRequest 腳本,不在支援範圍內。
- 為什麼我的 API 金鑰還是寫成 $OPENAI_API_KEY?
- 因為在 shell 裡這是變數,要到執行指令時才會填入值,轉換器無從得知。程式碼裡會原樣保留,註解會列出找到的所有變數。請在程式裡從環境變數讀取——Python 用 os.environ,Node 用 process.env,Go 用 os.Getenv——不要把金鑰直接寫進原始碼。
- 這是 curlconverter 函式庫嗎?
- 不是。curlconverter 是做同一件事的知名開源專案,本頁有註明,但這個工具使用自己撰寫、較精簡的解析器,只針對提供的五種語言。它涵蓋決定請求內容的選項——方法、標頭、資料、表單、驗證、Cookie、逾時、重新導向、TLS 驗證——沒有轉換的選項會列在程式碼開頭的註解裡。
- -L 和 --compressed 怎麼處理?
- fetch、requests、Go 的 http.Client 和 axios 預設就會跟隨重新導向並解壓縮 gzip 回應,不需要額外的程式碼。PHP 的 cURL 預設兩者都不做,所以指令裡有這兩個選項時,PHP 程式碼會設定 CURLOPT_FOLLOWLOCATION 和 CURLOPT_ENCODING。
背後的開源專案
本工具是獨立實作,並未打包第三方函式庫。curlconverter/curlconverter(MIT)在程式碼層面做的是同一件事——如果你需要在自己的程式裡實作它,從那裡開始,而不是呼叫一個網頁。
curlconverter/curlconverter也常被稱作
- curl 轉程式碼
- curl 轉 python
- curl 轉 fetch
- curl 轉 go
- curl 指令轉換
- 複製為 curl 轉程式碼
- curl 轉 axios