사용자 도구

사이트 도구


develop:perl:lwp

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
develop:perl:lwp [2007/03/19 19:03]
starlits
develop:perl:lwp [2007/03/19 19:05] (현재)
starlits
줄 49: 줄 49:
 get함수가 성공하면 웹문서의 내용을 리턴된고 실패한다면 undef를 리턴한다.  get함수가 성공하면 웹문서의 내용을 리턴된고 실패한다면 undef를 리턴한다. 
  
-다음 예제를 보자. <code>+다음 예제를 보자. <code perl>
 use LWP::Simple; use LWP::Simple;
 $html = get( "http://www.perlmania.or.kr/~kiseok7/perllwp/camelcode.txt" ); $html = get( "http://www.perlmania.or.kr/~kiseok7/perllwp/camelcode.txt" );
줄 91: 줄 91:
 특정 URL의 웹문서를 자신의 PC(또는 서버)에 파일로 동기화 해서 유지하고 싶다면 다음처럼 짧은 스크립트를 하나 만들고 스케줄러에 등록하면 된다. 특정 URL의 웹문서를 자신의 PC(또는 서버)에 파일로 동기화 해서 유지하고 싶다면 다음처럼 짧은 스크립트를 하나 만들고 스케줄러에 등록하면 된다.
  
-<code>+<code perl>
 use LWP::Simple; use LWP::Simple;
 mirror(  mirror( 
줄 110: 줄 110:
 일단은 HTTP::Response는 요청 헤더를 만들때 사용하고 HTTP::Request는 응답을 분석할때 사용한다고 알아두고 다음 예제를 보자. 일단은 HTTP::Response는 요청 헤더를 만들때 사용하고 HTTP::Request는 응답을 분석할때 사용한다고 알아두고 다음 예제를 보자.
  
-<code>+<code perl>
 use LWP 5.65; use LWP 5.65;
  
줄 138: 줄 138:
 그리고 위 예제에서 LWP::UserAgent의 get메서드를 사용하면 다음처럼 좀더 간단하게 재작성할 수도 있다. 그리고 위 예제에서 LWP::UserAgent의 get메서드를 사용하면 다음처럼 좀더 간단하게 재작성할 수도 있다.
  
-<code>+<code perl>
 use LWP 5.65; use LWP 5.65;
  
줄 171: 줄 171:
 앞의 예제에서 보았던 get메서드에 다음 처럼 헤더 key와 value를 추가 할 수 있다. %headers는 헤더의 key와 value의 리스트이다. 앞의 예제에서 보았던 get메서드에 다음 처럼 헤더 key와 value를 추가 할 수 있다. %headers는 헤더의 key와 value의 리스트이다.
  
-<code> $response = $browser->get( $url, %headers ); </code> +<code perl> $response = $browser->get( $url, %headers ); </code> 
  
  
 다음은 우리가 만든 가상 부라우져가 마치 Netscape 처럼 보이게 하기 위해 헤더를 추가한 예제이다. 다음은 우리가 만든 가상 부라우져가 마치 Netscape 처럼 보이게 하기 위해 헤더를 추가한 예제이다.
  
-<code>+<code perl>
 %headers = ( %headers = (
     'User-Agent' => 'Mozilla/4.76 [en] (Win98; U)',     'User-Agent' => 'Mozilla/4.76 [en] (Win98; U)',
줄 188: 줄 188:
 물론 %headers 해쉬를 사용하지 않고 직접 get메서드에 넣어 줄 수도 있다. 물론 %headers 해쉬를 사용하지 않고 직접 get메서드에 넣어 줄 수도 있다.
  
-<code>+<code perl>
 $response = $browser->get( $url, $response = $browser->get( $url,
     'User-Agent' => 'Mozilla/4.76 [en] (Win98; U)',     'User-Agent' => 'Mozilla/4.76 [en] (Win98; U)',
줄 206: 줄 206:
 Google과 같은 검색엔진에서 검색창에 단어를 치고 엔터를 누르면 URL창에 다음과 같이 나타나는것을 볼 수 있다. Google과 같은 검색엔진에서 검색창에 단어를 치고 엔터를 누르면 URL창에 다음과 같이 나타나는것을 볼 수 있다.
  
-<code> http://www.google.co.kr/search?q=perlmania </code> +<code perl> http://www.google.co.kr/search?q=perlmania </code> 
  
  
 폼에 q라는 Key와 perlmania라는 value가 URL에 추가된 형태이다. 다음의 코드를 보자. 폼에 q라는 Key와 perlmania라는 value가 URL에 추가된 형태이다. 다음의 코드를 보자.
  
-<code>+<code perl>
 use URI; use URI;
 $url = URI->new('http://google.co.kr/search'); $url = URI->new('http://google.co.kr/search');
줄 224: 줄 224:
 POST방식의 요청헤더는 URI같은 별도의 모듈없이 put메서드로 만들 수 있다. POST방식의 요청헤더는 URI같은 별도의 모듈없이 put메서드로 만들 수 있다.
  
-<code>+<code perl>
 $response = $browser->post( $url, $response = $browser->post( $url,
     [     [
줄 240: 줄 240:
 다음처럼 빈 메모리를 cookie_jar에세 줄 수 있다. 다음처럼 빈 메모리를 cookie_jar에세 줄 수 있다.
  
-<code> $browser->cookie_jar({}); </code> +<code perl> $browser->cookie_jar({}); </code> 
  
  
 파일에 쿠키의 정보를 기록해 둔다면 프로그램이 종료되어도 쿠키의 정보는 파일에 남아있을 것이다. 다음처럼 cookie_jar를 설정할 수 있다. 파일에 쿠키의 정보를 기록해 둔다면 프로그램이 종료되어도 쿠키의 정보는 파일에 남아있을 것이다. 다음처럼 cookie_jar를 설정할 수 있다.
  
-<code> $browser->cookie_jar({ file => "$ENV{HOME}/my_cookies.txt" }); </code>  +<code perl> $browser->cookie_jar({ file => "$ENV{HOME}/my_cookies.txt" }); </code>  
  
  
줄 253: 줄 253:
 ===== Robot의 작성 ===== ===== Robot의 작성 =====
  
-<code>+<code perl>
 use LWP::RobotUA; use LWP::RobotUA;
 $browser = LWP::RobotUA->new( 'YourSuperBot/1.34', 'you@yoursite.com' ); $browser = LWP::RobotUA->new( 'YourSuperBot/1.34', 'you@yoursite.com' );
줄 262: 줄 262:
 ===== 웹문서의 링크체크 스크립트 ===== ===== 웹문서의 링크체크 스크립트 =====
  
-<code>+<code perl>
 use LWP; use LWP;
  
줄 300: 줄 300:
 LWP::Simple모듈와 HTML태그 파서 HTML::TokeParser를 사용해서 위 코드를 다시 작성해 보았다 LWP::Simple모듈와 HTML태그 파서 HTML::TokeParser를 사용해서 위 코드를 다시 작성해 보았다
  
-<code>+<code perl>
 use LWP::Simple; use LWP::Simple;
 use HTML::TokeParser; use HTML::TokeParser;
develop/perl/lwp.1174298585.txt.gz · 마지막으로 수정됨: 2007/03/19 19:03 저자 starlits