使用Powershell v3的Invoke-WebRequest和Invoke-RestMethod,我成功地使用POST方法将json文件发布到https网站。
我正在使用的命令是
$cert=New-Object System.Security.Cryptography.X509Certificates.X509Certificate2("cert.crt")
Invoke-WebRequest -Uri https://IPADDRESS/resource -Credential $cred -certificate $cert -Body $json -ContentType application/json -Method POST
但是,当我尝试使用GET方法时:
Invoke-WebRequest -Uri https://IPADDRESS/resource -Credential $cred -certificate $cert -Method GET
返回以下错误
Invoke-RestMethod : The underlying connection was closed: An unexpected error occurred on a send.
At line:8 char:11
+ $output = Invoke-RestMethod -Uri https://IPADDRESS/resource -Credential $cred
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-RestMethod], WebException
+ FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeRestMethodCommand
我尝试使用以下代码忽略SSL证书,但不确定其是否实际起作用。
[System.Net.ServicePointManager]::ServerCertificateValidationCallback = {$true}
有人可以提供一些有关这里可能出什么问题以及如何解决的指南吗?
谢谢
Invoke-WebRequest : The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel.
您可以尝试探索$ Error [0] .Exception.InnerException以获取更多信息。 。
Invoke-RestMethod
还是Invoke-WebRequest
?