Chuyển đổi curl sang PowerShell

Chuyển đổi các lệnh curl thành mã PowerShell bằng Invoke-RestMethod. curl2code chạy hoàn toàn trong trình duyệt của bạn thông qua WebAssembly — dữ liệu của bạn luôn được riêng tư. Đối với C#, hãy thử trình chuyển đổi curl sang C# của chúng tôi. Đối với Python, hãy xem curl sang Python. Dưới đây là các ví dụ PowerShell sẵn sàng sử dụng.

Cách sao chép curl từ trình duyệt của bạn

  1. 1

    Mở DevTools

    Nhấn F12 hoặc Ctrl+Shift+I để mở công cụ dành cho nhà phát triển của trình duyệt.

  2. 2

    Đi tới tab Network

    Nhấp vào tab Network và thực hiện hành động kích hoạt yêu cầu HTTP.

  3. 3

    Sao chép dưới dạng cURL

    Nhấp chuột phải vào yêu cầu → Sao chépCopy as cURL. Sau đó dán nó vào bên trên.

Câu hỏi thường gặp

PowerShell Invoke-RestMethod là gì?

Invoke-RestMethod là cmdlet tích hợp sẵn của PowerShell để thực hiện các yêu cầu HTTP với khả năng tự động phân tích JSON/XML. Nó trả về các đối tượng đã được phân tích trực tiếp — không cần giải tuần tự hóa thủ công. Có sẵn trong PowerShell 3.0+ và PowerShell Core. curl2code cũng hỗ trợ Invoke-WebRequest, lệnh trả về phản hồi thô.

Invoke-RestMethod vs Invoke-WebRequest — nên sử dụng cái nào?

Invoke-RestMethod tự động phân tích các phản hồi JSON/XML thành các đối tượng PowerShell — lý tưởng cho công việc với API. Invoke-WebRequest trả về toàn bộ phản hồi bao gồm header, mã trạng thái và nội dung thô — tốt hơn cho việc gỡ lỗi và các phản hồi không phải JSON. Sử dụng RestMethod cho API, WebRequest cho việc cào dữ liệu (scraping) hoặc chẩn đoán. Đối với cách tiếp cận .NET tương tự, hãy xem curl sang C#.

Làm thế nào để xử lý xác thực trong PowerShell?

Đối với Bearer: Invoke-RestMethod -Uri $url -Headers @{ Authorization = "Bearer $token" }. Đối với Basic auth, sử dụng -Credential (Get-Credential) hoặc -Authentication Basic (PowerShell 6+). PowerShell xử lý thông tin xác thực một cách an toàn với SecureString. curl2code chuyển đổi các cờ xác thực sang các tham số cmdlet PowerShell.

Làm thế nào để gửi dữ liệu multipart form trong PowerShell?

PowerShell 6+ hỗ trợ -Form @{ file = Get-Item "doc.pdf"; desc = "My file" } cho việc tải lên multipart. Trong Windows PowerShell 5.1, hãy xây dựng body multipart thủ công hoặc sử dụng các lớp .NET (System.Net.Http.MultipartFormDataContent). curl2code xử lý chuyển đổi cờ -F.

Làm thế nào để xử lý lỗi HTTP trong PowerShell?

Sử dụng try/catch: cả hai cmdlet đều ném ra WebException đối với các phản hồi không phải 2xx. Truy cập phản hồi bằng $_.Exception.Response. Trong PowerShell 7+, sử dụng -SkipHttpErrorCheck để ngăn việc ném lỗi và thay vào đó hãy kiểm tra $response.StatusCode một cách thủ công.

Làm thế nào để làm việc với JSON trong PowerShell?

Invoke-RestMethod tự động phân tích JSON thành PSObject. Để chuyển đổi thủ công: $data = $json | ConvertFrom-Json. Để gửi JSON: $body = @{ name = "John" } | ConvertTo-Json. Object pipeline của PowerShell tích hợp tự nhiên với các phản hồi API đã được phân tích để lọc và biến đổi.

Làm thế nào để thiết lập timeout trong PowerShell?

Sử dụng tham số -TimeoutSec 30 trên cả hai cmdlet. Trong PowerShell 7+, sử dụng -ConnectionTimeoutSeconds-OperationTimeoutSeconds để kiểm soát chi tiết hơn. Để thử lại, sử dụng -MaximumRetryCount 3-RetryIntervalSec 2 (PowerShell 7.1+).

Làm thế nào để sử dụng proxy trong PowerShell?

Sử dụng tham số -Proxy 'http://proxy:8080'. Đối với xác thực proxy: -ProxyCredential (Get-Credential). Theo mặc định, PowerShell tuân thủ các thiết lập proxy trên toàn hệ thống trên Windows. Để bỏ qua: -NoProxy (PowerShell 6+). curl2code chuyển đổi các cờ -x sang các tham số proxy PowerShell.

Làm thế nào để gửi một yêu cầu POST với thân JSON trong PowerShell?

Chuyển đổi một lệnh curl POST như curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL sang PowerShell bằng cách sử dụng curl2code. Mã được tạo sử dụng Invoke-RestMethod -Uri $url -Method Post -Body ($data | ConvertTo-Json) -ContentType 'application/json'. curl2code tự động phát hiện các cờ -d/--data với nội dung JSON và thiết lập header Content-Type phù hợp trong mã Invoke-RestMethod.

Làm thế nào để thêm xác thực Bearer token trong PowerShell?

Cung cấp curl -H "Authorization: Bearer YOUR_TOKEN" URL cho curl2code và nó sẽ tạo mã Invoke-RestMethod với header xác thực: -Headers @{ Authorization = 'Bearer YOUR_TOKEN' }. curl2code phát hiện Bearer tokens từ cả hai cờ -H "Authorization: Bearer ..."--oauth2-bearer. Đối với Basic auth, hãy sử dụng -u user:pass.

Làm thế nào để thiết lập header Content-Type trong PowerShell?

curl2code chuyển đổi curl -H "Content-Type: application/json" URL sang mã Invoke-RestMethod với header chính xác: -ContentType 'application/json'. Đối với dữ liệu -d, curl mặc định là application/x-www-form-urlencoded; đối với tải lên biểu mẫu -F, nó sử dụng multipart/form-data. curl2code ánh xạ từng loại tới Invoke-RestMethod API chính xác.

Liên kết hữu ích

Hướng dẫn curl

Chuyển đổi curl sang các ngôn ngữ khác