2009년 5월 28일 목요일

wget을 프락시 서버 통해서 사용

wget으로 다음과 같이 프락시 서버(Proxy Server)를 통해서 요청하는 방법을 설명한다.
로컬 -> 프락시 서버 -> 지정한 웹서버나 FTP

------------------------------------------------------------------------------
$ http_proxy=프락시서버:포트 wget URL
------------------------------------------------------------------------------

을 하면 지정한 프락시를 통해서 가져온다.
ftp도 같은 방법으로 ftp_proxy로 지정할 수 있다.

매번 위와 같이 입력하는 불편을 덜고자 한다면 ~/.wgetrc 에 다음을 넣어두면 된다.

------------------------------------------------------------------------------
http_proxy=프락시서버:포트
------------------------------------------------------------------------------

------------------------------------------------------------------------------
$ wget google.co.kr
--15:05:32-- http://google.co.kr/
      => `index.html'
211.251.xxx.xxx:8080에 접속하고 있습니다...connected.
Proxy 요청을 보냅니다, 서버로부터의 응답을 기다림...302 Moved Temporarily
... 생략 ...
------------------------------------------------------------------------------

좀 더 상세한 설정을 알아보자.

------------------------------------------------------------------------------
http_proxy=211.251.xxx.xxx:8080
proxy_user=????????
proxy_passwd=????????
no_proxy=.google.co.kr,.coffeenix.net
------------------------------------------------------------------------------

ID와 비밀번호로 인증과정이 필요한 프락시 서버는 proxy_user= 과 proxy_passwd=
로 설정할 수 있다. 이 때 wget은 Header에 'Proxy-Authorization: Basic ...'을
포함해서 보내게 된다.

no_proxy= 는 프락시 서버를 통하지 않을 URL을 콤마(,)로 구분하여 적어주면 된다.
no_proxy= 에서 지정한 이외의 URL에 대해 프락시없이 직접 가져오려면 해야할까?
또는 프락시를 일시 원하지 않는다면?
wget --proxy=off ... 처럼 하면 지정한 URL로 직접 요청을 하게 된다.

참고로 오픈된 프락시 서버 목록은 http://www.samair.ru/proxy/ 에서 얻을 수 있다.

* 참고자료 : info wget (wget Info 문서) -> Various -> Proxies

댓글 없음:

댓글 쓰기