2014-01-29 2 views
0

웹 서버에서 XML 파일을 다운로드해야하는 powershell 스크립트가 있습니다. 문제는 WebClient.Downloadstring을 사용할 수 없다는 것입니다. 먼저 로그인 폼으로 이동하고 내 자격 증명을 입력해야하기 때문입니다.WebClient없이 Powershell을 사용하여 XML을 다운로드하십시오.

로그인은 Java 애플릿을 통해 처리되므로 NetworkCredentials를 사용할 경우 작동하지 않습니다.

InternetExplorer 개체를 만들고 로그인 URL로 이동 한 다음 자격 증명을 입력하고 제출 단추를 클릭 시뮬레이션하는 유일한 방법은 없습니다.

그런 다음 원하는 페이지로 이동하여 파일로 저장하십시오.

작동하지만 다운로드 한 파일은 여분의 스팬 및 div로 채워지기 때문에 엄청납니다.

더 좋은 방법이 있기를 바랍니다.

+0

로그인 아마이 인증 한 서버를 보여줍니다 쿠키를 설정합니다. 로그인 프로세스를 수행 한 다음 브라우저에서 쿠키를 추출하여 파일을 가져올 때 사용할 수 있습니다. – Duncan

답변

1

좋아, 나는 그것을하는 방법을 발견했다.

은 내가 authetication와 헤더를 추가 :

$client = new-object System.Net.WebClient 

$token = [System.Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes($username+":"+$password)) 
$client.Headers.Add("Authorization", "Basic $token") 

$xml = $client.DownloadString("http://myurl") 
관련 문제