Korzystając z Invoke-WebRequest i Invoke-RestMethod programu PowerShell v3, z powodzeniem użyłem metody POST do wysłania pliku json do witryny https.
Polecenie, którego używam, to
$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
Jednak gdy próbuję użyć metody GET, takiej jak:
Invoke-WebRequest -Uri https://IPADDRESS/resource -Credential $cred -certificate $cert -Method GET
Zwracany jest następujący błąd
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
Próbowałem użyć następującego kodu, aby zignorować certyfikat SSL, ale nie jestem pewien, czy faktycznie coś robi.
[System.Net.ServicePointManager]::ServerCertificateValidationCallback = {$true}
Czy ktoś może udzielić wskazówek, co może tu być nie tak i jak to naprawić?
Dzięki
Invoke-WebRequest : The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel.
Możesz spróbować zbadać $ Error [0] .Exception.InnerException, aby uzyskać więcej informacji .. ,
Invoke-RestMethod
czyInvoke-WebRequest
?