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.

See Also (Lisätietoja)