將 curl 轉換為 PowerShell

使用 Invoke-RestMethod 將 curl 指令轉換為 PowerShell 程式碼。curl2code 完全透過 WebAssembly 在您的瀏覽器中執行 —— 您的資料將保持私密。若需 C#,請嘗試我們的 curl 轉 C# 轉換器。若需 Python,請參閱 curl 轉 Python。下方提供即插即用的 PowerShell 範例。

如何從瀏覽器複製 curl

  1. 1

    開啟開發者工具 (DevTools)

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

  2. 2

    前往網路 (Network) 分頁

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

  3. 3

    複製為 cURL

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

常見問題解答

什麼是 PowerShell Invoke-RestMethod?

Invoke-RestMethod 是 PowerShell 內建的指令程式 (cmdlet),用於發送 HTTP 請求並自動解析 JSON/XML。它直接回傳解析後的物件 — 無需手動反序列化。適用於 PowerShell 3.0+ 與 PowerShell Core。curl2code 也支援回傳原始回應的 Invoke-WebRequest

Invoke-RestMethod vs Invoke-WebRequest — 該使用哪一個?

Invoke-RestMethod 會自動將 JSON/XML 回應解析為 PowerShell 物件 — 是 API 工作的理想選擇。Invoke-WebRequest 回傳包含標頭、狀態碼與原始內容的完整回應 — 較適合除錯與非 JSON 回應。API 請用 RestMethod,網頁爬取或診斷請用 WebRequest。關於類似的 .NET 方法,請參閱 curl 轉 C#

如何在 PowerShell 中處理驗證?

對於 Bearer:Invoke-RestMethod -Uri $url -Headers @{ Authorization = "Bearer $token" }。對於 Basic 驗證,使用 -Credential (Get-Credential)-Authentication Basic (PowerShell 6+)。PowerShell 透過 SecureString 安全地處理憑證。curl2code 會將驗證旗標轉換為 PowerShell 指令程式參數。

如何在 PowerShell 中傳送 multipart 表單資料?

PowerShell 6+ 支援 -Form @{ file = Get-Item "doc.pdf"; desc = "My file" } 進行 multipart 上傳。在 Windows PowerShell 5.1 中,需手動建構 multipart 主體或使用 .NET 類別 (System.Net.Http.MultipartFormDataContent)。curl2code 會處理 -F 旗標轉換。

如何在 PowerShell 中處理 HTTP 錯誤?

使用 try/catch:這兩個指令程式在收到非 2xx 回應時都會拋出 WebException。透過 $_.Exception.Response 存取回應。在 PowerShell 7+ 中,可使用 -SkipHttpErrorCheck 防止拋出異常,改為手動檢查 $response.StatusCode

如何在 PowerShell 中處理 JSON?

Invoke-RestMethod 會自動將 JSON 解析為 PSObject。手動轉換:$data = $json | ConvertFrom-Json。傳送 JSON:$body = @{ name = "John" } | ConvertTo-Json。PowerShell 的物件管道能自然地與解析後的 API 回應整合,進行篩選與轉換。

如何在 PowerShell 中設定逾時?

在兩個指令程式上皆可使用 -TimeoutSec 30 參數。在 PowerShell 7+ 中,可使用 -ConnectionTimeoutSeconds-OperationTimeoutSeconds 進行精細控制。對於重試,使用 -MaximumRetryCount 3-RetryIntervalSec 2 (PowerShell 7.1+)。

如何在 PowerShell 中使用代理伺服器 (Proxy)?

使用 -Proxy 'http://proxy:8080' 參數。對於代理驗證:-ProxyCredential (Get-Credential)。在 Windows 上,PowerShell 預設遵循系統代理設定。若要跳過:-NoProxy (PowerShell 6+)。curl2code 會將 -x 旗標轉換為 PowerShell 代理參數。

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

使用 curl2code 將類似 curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL 的 curl POST 指令轉換為 PowerShell。生成的程式碼使用 Invoke-RestMethod -Uri $url -Method Post -Body ($data | ConvertTo-Json) -ContentType 'application/json'。curl2code 會自動偵測帶有 JSON 內容的 -d/--data 旗標,並在 Invoke-RestMethod 程式碼中設置適當的 Content-Type 標頭。

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

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

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

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

實用連結

curl 指南

將 curl 轉換為其他語言