cURL 轉程式碼
貼上 curl 命令,先核對它發的請求,再複製成 7 種語言的程式碼。
解析與生成都在當前瀏覽器標籤頁完成:不上傳、不儲存、不傳送,連本站也收不到。
貼上一條 curl 命令,這裡會顯示請求摘要和程式碼。
怎麼用
- 貼上一條 curl 命令——來自 DevTools 的 Copy as cURL、API 文件或聊天記錄,邊輸入邊出程式碼。
- 先看摘要行:方法、URL、請求頭數量和請求體大小。摘要對,下面的程式碼才對。
- 切換目標語言:程式碼和下載檔名跟著變,輸入框裡的命令不動。
- 黃色提示列出程式碼沒有體現的內容(代理、重定向、shell 變數);紅色錯誤會停止生成,而不是給半份請求。
- 復位會清空輸入並回到 Python;重新整理頁面效果相同。
示例
命令
curl -X POST 'https://httpbin.org/anything?from=zh' \ -H 'Content-Type: application/json' \ -d '{"name": "張三", "city": "上海"}'
Python
import requests url = "https://httpbin.org/anything?from=zh" headers = { "Content-Type": "application/json", } data = "{\"name\": \"張三\", \"city\": \"上海\"}".encode("utf-8") response = requests.request("POST", url, headers=headers, data=data) print(response.status_code) print(response.text)
摘要和程式碼都由上面這條命令生成——本工具不會真的訪問 httpbin。等價範圍是方法、URL、請求頭、請求體、Basic/Bearer 認證與超時。
規則、上限與已知問題
- 不支援檔案上傳:-F、-T 與 @檔案 會直接報錯,避免生成少檔案的程式碼。
- 不執行 shell:變數、命令取代、管道與多命令都不展開;$TOKEN 原樣保留並提示。
- 一條命令只處理一個 URL:多餘 URL 會被忽略並提示,不生成迴圈。
- 不還原傳輸層選項:-L、-k、代理、客戶端證書、HTTP 版本、重試與壓縮只給提示;生成程式碼使用各客戶端預設行為。
- 不補 curl 的隱式預設值:不會新增 User-Agent: curl/… 與 Accept: */*;需要固定時請寫 -A / -H。
- 只支援 POSIX 引號:單引號、雙引號、$'...' 與反斜槓換行;不解析 Windows CMD 的轉義。
- 重複請求頭在 Go、PHP、Java、C#、Ruby 中保留;Python 與 JavaScript 的字典會合併成 ", "。
- GET/HEAD 帶請求體照原樣生成並提示——fetch 會拒絕這種請求。
- 不儲存:重新整理即清空;分享按鈕只分享頁面連結,絕不含命令內容。
- 這裡只做轉換,不會發送請求;想看到響應請用 API 客戶端。
相關工具
轉換完成後可能用到。