Mit Invoke-WebRequest und Invoke-RestMethod von Powershell v3 habe ich die POST-Methode erfolgreich verwendet, um eine JSON-Datei auf einer https-Website zu veröffentlichen.
Der Befehl, den ich benutze, ist
$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
Wenn ich jedoch versuche, die GET-Methode wie folgt zu verwenden:
Invoke-WebRequest -Uri https://IPADDRESS/resource -Credential $cred -certificate $cert -Method GET
Der folgende Fehler wird zurückgegeben
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
Ich habe versucht, den folgenden Code zu verwenden, um das SSL-Zertifikat zu ignorieren, bin mir aber nicht sicher, ob es tatsächlich etwas bewirkt.
[System.Net.ServicePointManager]::ServerCertificateValidationCallback = {$true}
Kann jemand eine Anleitung geben, was hier möglicherweise schief geht und wie man es behebt?
Vielen Dank
Invoke-WebRequest : The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel. Sie könnten versuchen, $ Error [0] .Exception.InnerException zu untersuchen, um weitere Informationen zu erhalten. .
Invoke-RestMethododerInvoke-WebRequest?