跳至內容
Toova
所有工具

curl → fetch / axios / Python / Go

注重隱私的設計 — 完全在您的瀏覽器中執行

貼上含有 -H、-d、-u 與方法旗標的 curl 指令,Toova 會立刻生成等價的 JavaScript fetch、axios、Python requests 或 Go net/http 程式碼,適合在不同語言間移植 API 呼叫。

轉換器解析的內容

Toova 採用 POSIX shell 的方式做斷詞,因此單引號、雙引號、行繼續用的反斜線與多次出現的 header 都會被保留。它讀取 -X 取得動詞、多個 -H 取得 header、-d / --data-raw / --data-urlencode 取得 body、-u 取得 basic auth(轉成 Base64 編碼的 Authorization header)。-L、-k、-s、--compressed 等不影響行為的旗標會被靜默忽略。

各目標的輸出格式

JavaScript fetch 將 URL 內嵌,並輸出包含 method、headers 與 body 的 options 物件;axios 使用 config 物件把 headers、query 與 body 合在一起,若 --data 可解析為 JSON,就會被提升到具型別的 data 欄位;Python requests 同樣內嵌 URL,JSON payload 使用 json=,其餘使用 data=;Go net/http 會建立 http.NewRequest、逐一設定 header,並用 io.ReadAll 讀取 body,讓程式碼貼近慣用寫法。

為何資料不離開瀏覽器

正式環境的 curl 指令通常帶有 bearer token、API key 或 session cookie,正是那些不該貼到公開表單的字串。本工具是這個分頁裡的一段 JavaScript。試試打開 DevTools,你會發現貼上或切換語言時不會有任何請求送出,這就是我們的承諾。

常見問題

支援哪些 curl 旗標?
支援 -X / --request、-H / --header、-d / --data / --data-raw、--data-urlencode、-u / --user 與不影響行為的旗標 -L、-k、--compressed、-s/-v、--silent。
能處理 JSON body 嗎?
可以。當 --data 為合法 JSON 時,axios 與 Python 輸出會使用物件形式,讓 payload 維持型別;其他格式則保留原始字串。
那 multipart 上傳呢?
單一個 -F 會被當作沒有 header 的 body 直接轉換;完整的 multipart 支援在規劃中,目前請手動改用 FormData。
會紀錄我的 token 或 API key 嗎?
不會。轉換在你的瀏覽器分頁中完成,Toova 看不到你的 curl 指令,輸入欄也沒有任何遙測。
為什麼 GET 變成 POST?
這是 curl 的行為。當有 --data 時,除非你明確 -X GET,否則方法會被自動升級為 POST。轉換器跟隨相同行為,以保持生成程式碼的語意。
可以儲存輸出嗎?
請使用「複製」按鈕。我們不在頁面之間保存內容,迭代時請保持頁面開啟。