Powershell v3의 Invoke-WebRequest 및 Invoke-RestMethod를 사용하여 성공적으로 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을 탐색 해 볼 수 있기 때문에 ServerValidationCallback은 거의 확실하게 붉은 청어입니다 . .
Invoke-RestMethod
또는Invoke-WebRequest
?