2016-03-01 6 views

Odpowiedz

14

powinien być w stanie wykonać następujące czynności:

$params = @{"@type"="login"; 
"username"="[email protected]"; 
"password"="yyy"; 
} 

Invoke-WebRequest -Uri http://foobar.com/endpoint -Method POST -Body $params 

To zakładać ciało, jak podano.

+1

Wielkie dzięki. To pomogło !! – live2learn

23

Użyj Invoke-RestMethod do korzystania z funkcji REST-API. Zapisz JSON na ciąg i użyć jej jako ciała, ex:

$JSON = @' 
{"@type":"login", 
"username":"[email protected]", 
"password":"yyy" 
} 
'@ 

$response = Invoke-RestMethod -Uri "http://somesite.com/oneendpoint" -Method Post -Body $JSON -ContentType "application/json" 

Jeśli używasz PowerShell 3, wiem, że były pewne problemy z Invoke-RestMethod, ale powinieneś być w stanie korzystać Invoke-WebRequest jako zamiennik:

$response = Invoke-WebRequest -Uri "http://somesite.com/oneendpoint" -Method Post -Body $JSON -ContentType "application/json" 

Jeśli nie chcesz pisać własne JSON za każdym razem, można użyć hashtable i używać PowerShell aby przekonwertować go na JSON przed wysłaniem go. Dawny.

$JSON = @{ 
    "@type" = "login" 
    "username" = "[email protected]" 
    "password" = "yyy" 
} | ConvertTo-Json 
+0

Wielkie dzięki! To pomogło !! – live2learn

Powiązane problemy