PowerShell的V3调用,RestMethod(Powershell v3 Invoke-Re

2019-07-30 14:49发布

我试图利用新的invoke-restmethod cmdlet的发布一个JSON文件,并已成功这样做。 不过,我没有收到来自像我使用curl时做网络服务器的响应。 对于什么,我试图完成我需要从reposne到POST取信息,并使用此另一篇文章命令。

有人可以解释我如何能得到来自服务器的预期的响应? 下面是使用调用,RestMethod在袅袅两个命令第一,第二。 curl命令将执行正确的POST并返回响应。 PowerShell命令将执行正确的POST,但不会返回响应。

谢谢

编辑:我认为最主要的我想从ps输出,得到的是“响应头”,即。 从卷曲命令下的输出

 < HTTP/1.1 201 Created
 < Date: Thu, 26 Jul 2012 01:20:06 GMT
 < Server: Apache
 < X-EM7-Implemented-methods: GET,PUT,POST
 < X-Powered-By: ScienceLogic,LLC - EM7 API/Integration Server
 < Location: /ticket/321750
 < X-EM7-status-message: ticket /ticket/321750 added.
 < X-EM7-status-code: CREATED
 < Content-Length: 830
 < Content-Type: application/json
 < 

curl命令

 curl -f -v -s -k --no-sessionid -H X-em7-beautify-response:1 -H content-  type:application/json https://URLHERE --data-binary  @jsonfile.json

PowerShell代码

 $cert=New-Object System.Security.Cryptography.X509Certificates.X509Certificate2("certfile.crt")
 $json = Get-Content jsonfile.json
 $cred = Get-Credential -Message "Enter Credentials"

 Invoke-RestMethod -Uri https://URLHERE -Credential $cred -Body $json -Certificate $cert -ContentType application/json -Method POST

Answer 1:

周围的一些钓鱼后,我发现了小命令Invoke-WebRequest 。 此cmdlet基本相同Invoke-RestMethod比它返回标头以及响应这一事实其他。



文章来源: Powershell v3 Invoke-RestMethod