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

ดูเพิ่มเติม: