DevToolPal
繁

curl 指令轉程式碼

把 curl 指令轉換成 JavaScript fetch、Node.js axios、Python requests、Go、PHP、Java 或 C# 程式碼。

本機處理,不會上傳

選項

curl 指令

0 字元 · 0 B

程式碼

0 字元 · 0 B

這個工具做什麼

curl 指令轉程式碼工具可以把一條 curl 指令轉換成七種可以直接執行的程式碼:JavaScript fetch、Node.js axios、Python requests、Go net/http、PHP cURL、Java HttpClient 和 C# HttpClient。API 文件、Postman 和瀏覽器開發人員工具都常用 curl 指令描述請求,有了這個工具,就不必再手動改寫請求方法、URL、標頭、請求本文和驗證資訊。

解析器專為 curl 命令列撰寫:依 bash 的規則處理引號,能辨識 -sSL 這種合併的短選項和 -XPOST 這種緊接的值,並保留標頭原本的順序。

使用方法

  1. 把 curl 指令貼到輸入框,或按「範例」試試看。
  2. 選擇需要的目標語言。
  3. 複製結果,或下載成原始碼檔案。

用 -d 送出的本文會變成表單編碼的本文;--json(或 JSON 類型的 Content-Type)會變成 JSON 本文,語言允許時會格式化輸出;-F 欄位會變成含檔案上傳的 multipart 表單。-u user:password 會轉成該語言內建的 Basic 驗證寫法,-k、-L、-m 和 -x 分別對應 TLS 驗證、重新導向、逾時和代理伺服器。

範例

下面這條指令帶著 Bearer 權杖送出 JSON:

curl https://api.example.com/v1/users \
  -H 'Authorization: Bearer TOKEN' \
  --json '{"name":"Ada"}'

轉成 Python 後是一個 requests.post() 呼叫,帶有 headers 字典和 json=json_data;轉成 Go 後是一個 http.NewRequest,逐一設定標頭,本文以字串 Reader 傳入。

小提示

  • 轉換出錯時,訊息會說明問題,游標會跳到出錯的位置,例如無法辨識的選項或沒有閉合的引號。
  • 指令後面的管線和重新導向(| jq .、> out.json)會被忽略。
  • 以 @file 參照的檔案會在程式執行時讀取,請確認路徑相對於程式執行目錄是正確的。
  • 分享連結前請檢查敏感資訊:分享按鈕會把指令放進連結的 # 部分。

常見問題

› curl 指令會被傳送到伺服器嗎?

不會。指令完全在瀏覽器裡解析和轉換,其中的權杖、Cookie 和密碼都不會離開你的裝置。

› 支援哪些 curl 選項?

支援決定請求內容的選項:-X、-H、-d、--data-raw、--data-binary、--data-urlencode、--json、-F、-u、-b、-A、-e、-G、-I、-L、-k、-m、-x、--compressed 和 --url。只影響 curl 本身輸出的選項(如 -s、-v、-o、-w)會被接受並忽略。

› 可以貼上從瀏覽器開發人員工具複製的指令嗎?

可以。在「網路」面板選擇「複製為 cURL(bash)」即可。\、^(Windows cmd)和 `(PowerShell)三種續行寫法都能辨識,單引號、雙引號和 $'…' 也都支援。

› 程式碼無法實現的選項會怎麼處理?

產生的程式碼開頭會有一行 Note 註解說明,例如 fetch 無法表達 -k,或 curl 會讀取某個檔案而程式碼沒有讀取。無法辨識的選項會報錯,並定位到該選項。