PowerShell:
Een HTTP-verzoek verzenden
Hoe:
Hier is de duidelijke methode om een eenvoudig GET-verzoek af te vuren:
$response = Invoke-RestMethod -Uri 'https://api.example.com/data' -Method Get
Write-Output $response
En, als je wat informatie wilt POSTen:
$body = @{
'name' = 'Jane Doe'
'occupation' = 'Ruimteranger'
}
$response = Invoke-RestMethod -Uri 'https://api.example.com/users' -Method Post -Body ($body | ConvertTo-Json)
Write-Output $response
Voorbeelduitvoer:
name occupation
---- ----------
Jane Doe Ruimteranger
Diepgaand:
Een HTTP-verzoek versturen gaat terug tot de dageraad van webontwikkeling. Je engageert in een dialoog met het web in zijn moedertaal, HTTP. PowerShell’s Invoke-RestMethod
cmdlet is hier het gereedschap bij uitstek. Voor Invoke-RestMethod
, was Invoke-WebRequest
de go-to, en het is er nog steeds voor meer gedetailleerde reacties.
Je hebt alternatieven zoals curl
of .NET’s HttpClient
class als je avontuurlijk bent ingesteld. Wanneer je Invoke-RestMethod
gebruikt, bedenk dan dat het een wrapper is rondom .NET’s HttpClient
klassen en methodes, die eenvoud biedt maar enige lage-niveau controle opoffert.
Wat implementatie betreft, onthoud dat HTTP-verzoeken komen met verschillende methoden zoals GET
, POST
, PUT
, etc. Pas headers aan met -Headers
, en beheer time-outs en authenticatie met extra parameters naar behoefte. Saniteer altijd inputs als je gebruikmaakt van door gebruikers gegenereerde inhoud om injectieaanvallen te voorkomen.