แปลง curl เป็น PowerShell
แปลงคำสั่ง curl เป็นโค้ด PowerShell โดยใช้ Invoke-RestMethod curl2code ทำงานในเบราว์เซอร์ของคุณทั้งหมดผ่าน WebAssembly — ข้อมูลของคุณจะยังคงเป็นส่วนตัว สำหรับ C# ลองใช้ ตัวแปลง curl เป็น C# ของเรา สำหรับ Python ดูที่ curl เป็น Python ด้านล่างนี้คือตัวอย่าง PowerShell ที่พร้อมใช้งาน
วิธีคัดลอก curl จากเบราว์เซอร์ของคุณ
- 1
เปิด DevTools
กด F12 หรือ Ctrl+Shift+I เพื่อเปิดเครื่องมือสำหรับนักพัฒนาซอฟต์แวร์ของเบราว์เซอร์
- 2
ไปที่แท็บ Network
คลิกแท็บ Network และดำเนินการที่ทริกเกอร์คำขอ HTTP
- 3
คัดลอกเป็น cURL
คลิกขวาที่คำขอ → Copy → Copy as cURL จากนั้นนำมาวางด้านบน
คำถามที่พบบ่อย (FAQ)
PowerShell Invoke-RestMethod คืออะไร?
Invoke-RestMethod เป็น cmdlet ในตัวของ PowerShell สำหรับการส่ง HTTP requests พร้อมการ parse JSON/XML อัตโนมัติ โดยจะคืนค่าเป็น objects ที่ parse แล้วโดยไม่ต้องทำการ deserialization เอง มีให้ใช้งานใน PowerShell 3.0+ และ PowerShell Core นอกจากนี้ curl2code ยังรองรับ Invoke-WebRequest ซึ่งจะคืนค่า response แบบดิบ
Invoke-RestMethod vs Invoke-WebRequest — ควรใช้ตัวไหน?
Invoke-RestMethod จะ parse JSON/XML responses เป็น PowerShell objects โดยอัตโนมัติ เหมาะสำหรับงาน API ส่วน Invoke-WebRequest จะคืนค่า response ทั้งหมดรวมถึง headers, รหัสสถานะ และเนื้อหาดิบ เหมาะสำหรับการ debug และการตอบกลับที่ไม่ใช่ JSON ควรใช้ RestMethod สำหรับ APIs และใช้ WebRequest สำหรับการทำ scraping หรือการวินิจฉัย สำหรับแนวทาง .NET ที่คล้ายกัน ดูได้ที่ curl to C#
จะจัดการการยืนยันตัวตนใน PowerShell ได้อย่างไร?
สำหรับ Bearer: Invoke-RestMethod -Uri $url -Headers @{ Authorization = "Bearer $token" } สำหรับ Basic auth ให้ใช้ -Credential (Get-Credential) หรือ -Authentication Basic (PowerShell 6+) PowerShell จัดการข้อมูลประจำตัวอย่างปลอดภัยด้วย SecureString curl2code จะแปลงแฟล็ก auth เป็นพารามิเตอร์ของ cmdlet
จะส่ง multipart form data ใน PowerShell ได้อย่างไร?
PowerShell 6+ รองรับ -Form @{ file = Get-Item "doc.pdf"; desc = "My file" } สำหรับการอัปโหลดแบบ multipart ใน Windows PowerShell 5.1 ต้องสร้าง multipart body เองหรือใช้คลาส .NET (System.Net.Http.MultipartFormDataContent) curl2code จะจัดการการแปลงแฟล็ก -F ให้
จะจัดการข้อผิดพลาด HTTP ใน PowerShell ได้อย่างไร?
ใช้ try/catch: ทั้งสอง cmdlet จะโยน WebException เมื่อได้รับการตอบกลับที่ไม่ใช่ 2xx เข้าถึง response ได้ผ่าน $_.Exception.Response ใน PowerShell 7+ สามารถใช้ -SkipHttpErrorCheck เพื่อป้องกันการโยน exception และตรวจสอบ $response.StatusCode ด้วยตนเองแทน
จะทำงานกับ JSON ใน PowerShell ได้อย่างไร?
Invoke-RestMethod จะ parse JSON เป็น PSObject โดยอัตโนมัติ สำหรับการแปลงด้วยตนเองใช้: $data = $json | ConvertFrom-Json หากต้องการส่ง JSON: $body = @{ name = "John" } | ConvertTo-Json ระบบ object pipeline ของ PowerShell รวมเข้ากับ API responses ที่ parse แล้วได้อย่างเป็นธรรมชาติเพื่อการกรองและแปลงข้อมูล
จะตั้งค่า timeouts ใน PowerShell ได้อย่างไร?
ใช้พารามิเตอร์ -TimeoutSec 30 ในทั้งสอง cmdlet ใน PowerShell 7+ สามารถใช้ -ConnectionTimeoutSeconds และ -OperationTimeoutSeconds เพื่อการควบคุมที่ละเอียดขึ้น สำหรับการลองใหม่ ให้ใช้ -MaximumRetryCount 3 และ -RetryIntervalSec 2 (PowerShell 7.1+)
จะใช้ proxy ใน PowerShell ได้อย่างไร?
ใช้พารามิเตอร์ -Proxy 'http://proxy:8080' สำหรับ proxy auth ใช้: -ProxyCredential (Get-Credential) โดยปกติ PowerShell จะใช้การตั้งค่า proxy ของระบบบน Windows หากต้องการข้ามให้ใช้: -NoProxy (PowerShell 6+) curl2code จะแปลงแฟล็ก -x เป็นพารามิเตอร์ proxy ของ PowerShell
วิธีส่งคำขอ POST พร้อม JSON body ใน PowerShell?
แปลงคำสั่ง curl POST เช่น curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL เป็น PowerShell โดยใช้ curl2code โค้ดที่สร้างขึ้นจะใช้ Invoke-RestMethod -Uri $url -Method Post -Body ($data | ConvertTo-Json) -ContentType 'application/json' โดย curl2code จะตรวจจับแฟล็ก -d/--data ที่มีเนื้อหา JSON โดยอัตโนมัติ และตั้งค่าส่วนหัว Content-Type ที่เหมาะสมในโค้ด Invoke-RestMethod
วิธีเพิ่มการยืนยันตัวตนด้วย Bearer token ใน PowerShell?
ส่ง curl -H "Authorization: Bearer YOUR_TOKEN" URL ไปยัง curl2code และเครื่องมือจะสร้างโค้ด Invoke-RestMethod พร้อมส่วนหัวการยืนยันตัวตน: -Headers @{ Authorization = 'Bearer YOUR_TOKEN' } โดย curl2code จะตรวจจับ Bearer tokens จากทั้งแฟล็ก -H "Authorization: Bearer ..." และ --oauth2-bearer สำหรับ Basic auth ให้ใช้ -u user:pass
วิธีตั้งค่าส่วนหัว Content-Type ใน PowerShell?
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 ที่ถูกต้อง