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.

Zie Ook: