PowerShell:
HTTP-pyynnön lähettäminen
How to: (Kuinka tehdään:)
Esimerkki: Hae JSON-datan GET-pyynnöllä.
$response = Invoke-RestMethod -Uri 'https://api.example.com/data' -Method Get
$response
Esimerkkituloste:
name : PowerShell
type : CoolnessOverload
status : Success
Esimerkki: Lähetä JSON-datan POST-pyynnöllä.
$body = @{
name = 'PowerShell'
type = 'CoolnessOverload'
}
$json = $body | ConvertTo-Json
$response = Invoke-RestMethod -Uri 'https://api.example.com/submit' -Method Post -Body $json -ContentType 'application/json'
$response
Esimerkkituloste:
result : Success
message : Data received
Deep Dive (Syväsukellus)
HTTP-pyyntöjä on hyödynnetty 1990-luvun alusta, REST API:ien tullessa suosituiksi 2000-luvulla. PowerShellissä Invoke-RestMethod
on yleinen tapa lähettää HTTP-pyyntöjä, ja se tukee erilaisia HTTP-metodeja, kuten GET, POST, PUT, ja DELETE.
Vaihtoehtoja:
Invoke-WebRequest
: Käytetään, kun tarvitaan yksityiskohtaista vastauksen hallintaa, kuten HTTP-vastauskoodeja tai otsikoita.- cURL tai wget: Eri käyttöjärjestelmissä suosittu työkalu HTTP-pyyntöihin komentoriviltä.
Toteutustiedot:
- Älä unohda asettaa oikea sisällön tyyppi (
ContentType
), erityisesti POST-pyyntöjä lähettäessä. - Autentikaatio ja otsikoiden määritys tapahtuvat käyttämällä
-Headers
parametria. - Asynkroniset pyynnöt ja suorituskyky on mahdollista hallita
-AsJob
parametrin avulla.