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 למיניהם כדי להבטיח תקשורת בטוחה ויציבה.

ראה גם: