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 ข้อมูลเสมอเพื่อหลีกเลี่ยงการโจมตีผ่านการแทรกสคริปต์