การใช้ 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
?