Используя методы Invoke-WebRequest и Invoke-RestMethod Powershell v3, я успешно использовал метод 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
?