將 curl 轉換為 Python

curl2code 使用熱門的 requests 函式庫,能立即將任何 curl 指令轉換為簡潔的 Python 程式碼。轉換過程完全透過 WebAssembly 在您的瀏覽器中執行 —— 您的資料絕不會離開您的裝置。如果您在前端使用 TypeScript,請參考我們的 curl 轉 TypeScript 轉換器。若需伺服器端 JavaScript,請參閱 curl 轉 Node.js。下方提供涵蓋最常見 HTTP 場景的實用範例。

如何從瀏覽器複製 curl

  1. 1

    開啟開發者工具 (DevTools)

    按下 F12Ctrl+Shift+I 來開啟您的瀏覽器開發者工具。

  2. 2

    前往網路 (Network) 分頁

    點擊 Network 分頁,並執行觸發 HTTP 請求的操作。

  3. 3

    複製為 cURL

    右鍵點擊該請求 → CopyCopy as cURL。然後將其貼在上方。

常見問題解答

什麼是 Python Requests?

Python Requests 是最受歡迎的 Python HTTP 客戶端函式庫,在 GitHub 上擁有超過 50,000 顆星。它提供了一個優雅且符合 Python 風格(Pythonic)的 API 來發送 HTTP 請求、處理會話(sessions)、Cookie 和身份驗證。它開箱即用地支援 JSON 解析、連線池(connection pooling)和自動內容解碼。使用 pip install requests 進行安裝。它是 curl2code 用於 Python 轉換的預設函式庫。

Requests vs http.client — 我應該使用哪一個?

對於大多數使用案例,建議使用 Requests,因為它具有簡單的 API、自動 JSON 解析和內建的會話支援。http.client 是 Python 標準函式庫的一部分,無需安裝,適合極簡環境。關於其他語言中類似的簡便選擇,請參閱我們的 curl 轉 Ruby 轉換器curl 轉 Go 轉換器

如何在 Python Requests 中處理身份驗證?

傳遞一個帶有權杖(token)的 Authorization 標頭用於 Bearer 驗證,或使用 requests.auth.HTTPBasicAuth(user, pass) 進行基本驗證(Basic auth)。curl2code 會自動偵測身份驗證模式,包括 -u user:pass-H 'Authorization: Bearer ...'

如何使用 Python 發送多部分表單資料(multipart form data)?

使用 files 參數:requests.post(url, files={ 'file': open('doc.pdf', 'rb') })。對於額外的表單欄位,可同時使用 data。curl2code 會自動處理 -F 旗標。

如何處理錯誤和重試?

對於 4xx/5xx 狀態碼,使用 response.raise_for_status() 拋出異常。將其封裝在 try/except 中並擷取 requests.exceptions.RequestException。對於重試,請搭配 Session 配接器(adapter)使用 urllib3.util.Retry

如何在 Python 中發送非同步 HTTP 請求?

requests 是同步的。對於非同步 HTTP,請使用 aiohttphttpx(提供同步和非同步 API,且介面與 requests 相容)。對於高併發場景,非同步客戶端能提供顯著更好的吞吐量。

如何設定逾時和連線池?

務必設定逾時:requests.get(url, timeout=(3.05, 27))。對於連線池,請使用 requests.Session(),它會重複使用 TCP 連線。curl 的 --connect-timeout--max-time 會對應到這些設定。

如何使用 Python Requests 設定代理伺服器(proxy)?

傳遞一個 proxies 字典:{ 'https': 'http://proxy:8080' }。對於 SOCKS,請安裝 requests[socks]。它也支援 HTTP_PROXY / HTTPS_PROXY 環境變數。curl2code 會自動轉換 -x--proxy

如何在 Python 中發送帶有 JSON 主體的 POST 請求?

使用 curl2code 將類似 curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL 的 curl POST 指令轉換為 Python。生成的程式碼使用 requests.post(url, json={'key': 'value'})。curl2code 會自動偵測帶有 JSON 內容的 -d/--data 旗標,並在 Requests 程式碼中設置適當的 Content-Type 標頭。

如何在 Python 中添加 Bearer 權杖授權?

curl -H "Authorization: Bearer YOUR_TOKEN" URL 傳遞給 curl2code,它會生成帶有授權標頭的 Requests 程式碼:headers={'Authorization': 'Bearer YOUR_TOKEN'}。curl2code 會從 -H "Authorization: Bearer ..."--oauth2-bearer 旗標中偵測 Bearer 權杖。對於 Basic auth,請使用 -u user:pass

如何在 Python 中設置 Content-Type 標頭?

curl2code 將 curl -H "Content-Type: application/json" URL 轉換為帶有正確標頭的 Requests 程式碼:headers={'Content-Type': 'application/json'}。對於 -d 數據,curl 預設為 application/x-www-form-urlencoded;對於 -F 表單上傳,它使用 multipart/form-data。curl2code 會將每一項映射到正確的 Requests API。

如何將 curl 指令轉換為 Python 程式碼?

將您的 curl 指令貼入 curl2code 並選擇 Python。該工具會解析所有旗標 — -X (方法)、-H (標頭)、-d (數據)、-u (認證)、-F (表單)、cookies 等 — 並生成乾淨的 Python Requests 程式碼。轉換過程透過 WebAssembly 在您的瀏覽器本地運行,因此您的 API 金鑰和數據保持私密。您也可以選擇 http.client 作為替代函式庫。

實用連結

curl 指南

將 curl 轉換為其他語言