PowerShell:
שליחת בקשת HTTP
איך לעשות:
שימוש ב-Invoke-WebRequest לשליחת בקשה GET:
$response = Invoke-WebRequest -Uri "http://example.com/api/data"
$response.Contentתוצאה:
{ "id": 1, "name": "A Thing", "status": "Awesome" }שליחת בקשה POST עם גוף בקשה:
$body = @{
id=101
value="Cool Data"
} | ConvertTo-Json
$response = Invoke-WebRequest -Uri "http://example.com/api/update" -Method Post -Body $body -ContentType "application/json"
$response.StatusCodeתוצאה:
200פה הקבלת הקוד תשובה שמציין שהבקשה הצליחה.
עיון מעמיק:
Invoke-WebRequest הוא חלק מ-PowerShell מגרסה 3.0 ומעלה, מאפשר שליחת בקשות רשת מסוגים שונים. לפניו, הייתה צורך להשתמש בעטיפות של .NET.
אלטרנטיביות כמו curl או Invoke-RestMethod (לAPIs) קיימות ומתאימות לתרחישים שונים. בשונה מ-Invoke-WebRequest, Invoke-RestMethod מפרסר את התשובה לאובייקט פי.אס. מפשט את השימוש בנתונים.
בהיבט של יישום, כששולחים בקשות זה חשוב לטפל בHeaders, HTTP Methods, ולנהל סשנים עם cookies למיניהם כדי להבטיח תקשורת בטוחה ויציבה.