如果正文参数以'@'开头,则发出PowerShell POST请求

问题描述 投票:30回答:3

我想在PowerShell中发出POST请求。以下是邮递员的身体细节。

{
  "@type":"login",
  "username":"[email protected]",
  "password":"yyy"
}

如何在PowerShell中传递此内容?

rest powershell powershell-v5.0
3个回答
-3
投票

@Frode F.给出了正确的答案。

顺便说一句,Invoke-WebRequest还会给你打印200 OK和很多bla,bla,bla ......这可能很有用,但我仍然更喜欢更轻的Invoke-RestMethod

此外,请记住,您只需要使用| ConvertTo-Json作为正文,而不是标题:

$body = @{
 "UserSessionId"="12345678"
 "OptionalEmail"="[email protected]"
} | ConvertTo-Json

$header = @{
 "Accept"="application/json"
 "connectapitoken"="97fe6ab5b1a640909551e36a071ce9ed"
 "Content-Type"="application/json"
} 

Invoke-RestMethod -Uri "http://MyServer/WSVistaWebClient/RESTService.svc/member/search" -Method 'Post' -Body $body -Headers $header | ConvertTo-HTML

然后,您可以在请求结束时附加| ConvertTo-HTML以提高可读性

© www.soinside.com 2019 - 2024. All rights reserved.