반응형
Powershell에서 인증된 웹 요청을 만드는 방법은 무엇입니까?
C#에서 다음과 같은 작업을 수행할 수 있습니다.
System.Net.WebClient w = new System.Net.WebClient();
w.Credentials = new System.Net.NetworkCredential(username, auth, domain);
string webpage = w.DownloadString(url);
Powershell 버전이 있습니까? 아니면 CLR에 전화해야 합니까?
PowerShell은 거의 동일합니다.
$webclient = new-object System.Net.WebClient
$webclient.Credentials = new-object System.Net.NetworkCredential($username, $password, $domain)
$webpage = $webclient.DownloadString($url)
Powershell이 Http Status Code와 같은 추가 정보를 반환해야 하는 사용자를 위해 다음과 같은 예가 있습니다.여기에는 자격 증명을 전달하는 가장 가능성이 높은 두 가지 방법이 포함됩니다.
이 SO 답변의 약간 수정된 버전입니다.
PowerShell에서 숫자 HTTP 상태 코드를 가져오는 방법
$req = [system.Net.WebRequest]::Create($url)
# method 1 $req.UseDefaultCredentials = $true
# method 2 $req.Credentials = New-Object System.Net.NetworkCredential($username, $pwd, $domain);
try
{
$res = $req.GetResponse()
}
catch [System.Net.WebException]
{
$res = $_.Exception.Response
}
$int = [int]$res.StatusCode
$status = $res.StatusCode
return "$int $status"
경우에 따라 올바른 자격 증명이 지정된 경우 NTLM 인증이 여전히 작동하지 않습니다.
Web Client에는 NTLM 인증을 사용할 수 없는 메커니즘이 있습니다. 자세한 내용은 여기를 참조하십시오.시스템.Net.WebClient가 Windows 인증과 함께 작동하지 않음
위의 답변을 시도해도 여전히 작동하지 않으면 위의 링크를 따라 레지스트리를 추가하여 도메인을 화이트리스트에 추가합니다.
다른 사람의 시간을 절약하기 위해 이것을 여기에 게시합니다 ;)
언급URL : https://stackoverflow.com/questions/508565/how-to-make-an-authenticated-web-request-in-powershell
반응형
'programing' 카테고리의 다른 글
보기에서 호스팅 활동을 가져오는 방법은 무엇입니까? (0) | 2023.08.08 |
---|---|
함수 nodejs의 mariadb에서 반환 값 (0) | 2023.08.08 |
CSS를 사용하여 여러 개의 배경 이미지를 가질 수 있습니까? (0) | 2023.08.08 |
jQuery의 사용자 지정 이벤트? (0) | 2023.08.08 |
매개 변수를 허용하는 expressjs 미들웨어 생성 (0) | 2023.08.08 |