PowerShell:
ส่งคำขอ HTTP
วิธีการ:
นี่คือวิธีง่ายๆ ในการส่งคำขอ GET ที่ง่าย:
$response = Invoke-RestMethod -Uri 'https://api.example.com/data' -Method Get
Write-Output $responseและถ้าหากคุณต้องการ POST ข้อมูลบางอย่าง:
$body = @{
'name' = 'Jane Doe'
'occupation' = 'Space Ranger'
}
$response = Invoke-RestMethod -Uri 'https://api.example.com/users' -Method Post -Body ($body | ConvertTo-Json)
Write-Output $responseตัวอย่างผลลัพธ์:
name occupation
---- ----------
Jane Doe Space Rangerข้อมูลเพิ่มเติม:
การส่งคำขอ HTTP ย้อนกลับไปถึงจุดเริ่มต้นของการพัฒนาเว็บ คุณกำลังมีส่วนร่วมในการสนทนากับเว็บในภาษาที่เป็นปฐมภูมิของมัน, HTTP. คำสั่ง Invoke-RestMethod ใน PowerShell เป็นเครื่องมือที่เลือกใช้ในที่นี้ ก่อนหน้า Invoke-RestMethod, Invoke-WebRequest เป็นคำสั่งที่ไปถึงและยังคงมีอยู่สำหรับการตอบกลับที่ละเอียดยิ่งขึ้น
ถ้าคุณรู้สึกชอบการผจญภัย, คุณมีทางเลือกอื่นเช่น curl หรือคลาส HttpClient ของ .NET เมื่อใช้ Invoke-RestMethod, จำไว้ว่ามันคือ wrapper รอบคลาสและเมธอดของ HttpClient ใน .NET, ซึ่งมอบความสะดวกแต่แลกมาด้วยการควบคุมระดับล่างที่บางอย่าง
ในแง่ของการเตรียมการ, จำไว้ว่าคำขอ HTTP มาพร้อมกับวิธีการต่างๆ เช่น GET, POST, PUT, เป็นต้น คุณสามารถกำหนดหัวข้อด้วย -Headers, และจัดการเวลาหมดเขตและการรับรองความถูกต้องด้วยพารามิเตอร์เพิ่มเติมตามที่ต้องการ ถ้าคุณใช้เนื้อหาที่สร้างโดยผู้ใช้, จำเป็นต้อง sanitize ข้อมูลเสมอเพื่อหลีกเลี่ยงการโจมตีผ่านการแทรกสคริปต์