我试图利用新的调用-restmethod cmdlet发布一个JSON文件,并且已经成功地这样做了。但是,我并没有像使用CURL时那样收到来自when服务器的响应。为了完成我想要完成的任务,我需要从存储库获取信息到POST,并将其用于另一个POST命令。
有人能解释一下我如何从服务器得到预期的响应吗?下面是两个命令,第一个是CURL,第二个使用调用-RestMethod。curl命令将执行正确的POST并返回响应。Powershell命令将执行正确的POST,但不会返回响应。
谢谢
编辑:我认为我试图从ps输出中获得的主要东西是“响应头”(Response)。以下是curl命令的输出
< 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
发布于 2012-07-25 21:04:42
在附近钓鱼之后,我发现了cmdlet Invoke-WebRequest
。除了返回头部和响应这一事实之外,这个cmdlet基本上与Invoke-RestMethod
完全相同。
https://stackoverflow.com/questions/11660194
复制