나는 REST API를 사용하여 컬 작업의 기본 authentatication 있습니다. REST 코드에서 인증 확인을 사용하지 않으면이 스크립트가 제대로 작동합니다.PowerShell을 HTTP POST를 REST API 기본 인증
curl과 비슷한 POST 요청시 자격 증명을 전달하는 가장 좋은 방법은 무엇입니까? 아니면 다음 스크립트를 수정하기 위해 할 수있는 방법은 무엇입니까?
정말 이에 대한 약간의 안내를 부탁드립니다. 감사.
function Execute-HTTPPostCommand() {
param(
[string] $target = $null
)
$username = "user"
$password = "pass"
$webRequest = [System.Net.WebRequest]::Create($target)
$webRequest.ContentType = "text/html"
$PostStr = [System.Text.Encoding]::UTF8.GetBytes($Post)
$webrequest.ContentLength = $PostStr.Length
$webRequest.ServicePoint.Expect100Continue = $false
$webRequest.Credentials = New-Object System.Net.NetworkCredential -ArgumentList $username, $password
$webRequest.PreAuthenticate = $true
$webRequest.Method = "POST"
$requestStream = $webRequest.GetRequestStream()
$requestStream.Write($PostStr, 0,$PostStr.length)
v$requestStream.Close()
[System.Net.WebResponse] $resp = $webRequest.GetResponse();
$rs = $resp.GetResponseStream();
[System.IO.StreamReader] $sr = New-Object System.IO.StreamReader -argumentList $rs;
[string] $results = $sr.ReadToEnd();
return $results;
}
$post = "volume=6001F930010310000195000200000000&arrayendpoint=2000001F930010A4&hostendpoint=100000051ED4469C&lun=2"
$URL = "http://example.com/test/"
Execute-HTTPPostCommand $URL
감사합니다 $ R $ 폼 $ 내용을 문제 해결 방법을 시스템 출력에 표시! 이것은 나를 위해 그것을했다. –
http://www.base64encode.org/에서 UTF-8 Base64 문자열을 얻을 수 있습니다. – SeriousM