2010. 7. 26. 19:13
안녕하세요. 엉스데브 입니다.

PowerShell 을 가지고 놀다 보니 Linux + Bash 를 사용할 때 유용하게 썼던 유틸인 wget 을 PowerShell 에서도 쓰고 싶어졌습니다.

구글링을 통해, 어느 외국 유저분께서 만든 PowerShell 에서 wget 처럼 사용 할 수 있는 함수를 찾을 수 있었습니다.
(*링크 : http://huddledmasses.org/wget-2-for-powershell/, by "Joel 'Jaykul' Bennett" )

뭐든 내용을 파악하고 사용 해야죠? 스크립트를 살펴 보겠습니다.
먼저 함수의 이름은 Get-WebFile 로 PowerShell 의 명령어 명명법에 잘 맞는 이름이네요.(동사 + 명사)

System.Net.HttpWebRequest Class 를 사용해서 구현 한 것이네요.
MSDN 에서 해당 Class 를 찾아보니 HTTP, 혹은 HTTPS 요청을 처리할 수 있는 Class 군요.
이런 .NET Class 는 MSDN 에서 검색 해 보면 그 Class 가 어떤 기능과 속성들을 가지고 있는지 알 수 있습니다.
(*링크 : http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.aspx )

함수를 사용 하려면, Profile 에 함수를 추가 해 두면 됩니다.

사용법은 아래와 같습니다.

Get-WebFile { 다운로드 받을 웹 파일 } { 저장 될 파일 명 }
예) Get-WebFile "http://svrstudy.tistory.com" "svrstudy.tistory.com.html"



어디 잘 받아졌는지 내용을 확인 해 볼까요?
cat(Get-Content 명령어의 Alias) 으로 파일을 열어 봅니다. -totalcount 파라미터로 처음 5줄만 보겠습니다.


웹 페이지의 내용이 잘 저장 되어 있네요.

저장하지 않고, -Passthru 파라미터를 줘서 화면에 바로 출력 시킬 수도 있습니다.


-Quiet 파라미터로, 다운로드 진행 상태를 표시하지 않도록 할 수도 있군요.

이 함수를 이용하면 추후 REST 등의 HTTPRequest 로 요청 하는 서비스를 PowerShell 에서도 활용 할 수 있는등,
앞으로 대단히 유용하게 사용 될 것 같습니다.

그러나 아직은 Linux 의 wget 유틸에 비해 여러가지 기능이 부족 하네요.
나중에 시간 되면 제가 wget 유틸 사용시 많이 썼던 기능(HTTP 로그인 기능 지원, FTP 프로토콜 지원 등)은 직접 추가 해야 겠습니다.^^

<참고 URL>
http://huddledmasses.org/wget-2-for-powershell/
Posted by 알 수 없는 사용자
:
BLOG main image
Windows Server를 공부 하는 사람들의 팀블로그 by 마성민

카테고리

분류 전체보기 (76)
Windows (2)
Powershell (56)
AD (0)
Exchange (6)
System Center (9)
IIS (0)
SQL (3)
Sharepoint (0)

태그목록

Tistory Cumulus Flash tag cloud by BLUEnLIVE requires Flash Player 9 or better.

Total :
Today : Yesterday :