2012-07-23 4 views
3

매우 간단한 powershell 스크립트를 테스트하여 내부 발권 사이트에서 데이터를 가져 오거나 게시하려고합니다. 필요한 SSL 인증서와 관련된 문제가 발생했습니다. 누군가 내가이 작업을하기 위해 추가해야 할 코드를 이해하도록 도와 줄 수 있습니까?Powershell HTTPS REST API GET/POST

덕분에 오류가 반환

: 예외가 "0"인수 (들) "하는 GetResponse"를 호출 : "기본 연결이 닫혔습니다 :.는 SSL/TLS 보안 채널에 대한 트러스트 관계를 설정할 수 없습니다"

현재 코드 :

$url = "https://username:[email protected]/ticket" 
$command = get-content jsonfile.json 

$bytes = [System.Text.Encoding]::ASCII.GetBytes($command) 
$web = [System.Net.WebRequest]::Create($url) 
$web.Method = "POST" 
$web.ContentLength = $bytes.Length 
$web.ContentType = "application/json" 
$stream = $web.GetRequestStream() 
$stream.Write($bytes,0,$bytes.Length) 
$stream.close() 

$reader = New-Object System.IO.Streamreader -ArgumentList 
$web.GetResponse().GetResponseStream() 
$reader.ReadToEnd() 
$reader.Close() 
+1

도움이 필요한 경우 참조 http://stackoverflow.com/questions/9917875/power-shell-web-scraping-ssl-tsl-issue/9918045#9918045 –

+1

도움 주신 데 감사드립니다. 그러나 Powershell v3에 필요한 항목을 처리하는 Invoke-RestMethod cmdlet가 있음을 곧 알게되었습니다. – floyd

답변

5

은 내가 파워 쉘 v3에서 도입 된 새로운 Invoke-RestMethod cmdlet을에서 필요한 기능을 얻을 수있었습니다. 이 방법을 사용하면 오류가 발생하지 않은 인증서를 포함 할 수 있습니다.