Usando Invoke-WebRequest e Invoke-RestMethod do Powershell v3, usei com êxito o método POST para postar um arquivo json em um site https.
O comando que estou usando é
$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
No entanto, quando tento usar o método GET, como:
Invoke-WebRequest -Uri https://IPADDRESS/resource -Credential $cred -certificate $cert -Method GET
O seguinte erro é retornado
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
Tentei usar o código a seguir para ignorar o certificado SSL, mas não tenho certeza se ele está realmente fazendo alguma coisa.
[System.Net.ServicePointManager]::ServerCertificateValidationCallback = {$true}
Alguém pode fornecer alguma orientação sobre o que pode estar errado aqui e como corrigi-lo?
obrigado
Invoke-WebRequest : The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel.
Você pode tentar explorar $ Error [0] .Exception.InnerException para obter mais informações .. .
Invoke-RestMethod
ouInvoke-WebRequest
?