#!/usr/bin/perl
use LWP;
use HTTP::Cookies;
$header = HTTP::Headers->new;
$request = HTTP::Request -> new;
$header -> header('User-Agent' => 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; GTB5; User-agent: Mozilla/4.0 (compatible; MSI
E 6.0; Windows NT 5.1; SV1); .NET CLR 2.0.50727; .NET CLR 1.1.4322; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)',
'Accept-Language' => 'ko',
'UA-CPU' => 'x86',
'Accept-Encoding' => 'gzip, deflate',
'Host' => 'minihp.cyworld.com',
'Connection' => 'Keep-Alive',
'Referer' => 'http://minihp.cyworld.com/pims/main/pims_main.asp?tid=홈피아이디',
);
$url = "http://minihp.cyworld.com/pims/main/pims_main4.asp?tid=자신의홈피id&urlstr=";
$i=0;
while(1)
{
$i++;
$browser = LWP::UserAgent->new();//브라우져 생성
$browser -> cookie_jar({}); //쿠키 저장
$response = $browser->get($url); //브라우져에 요청
print $response -> as_string; //헤더 및 응답받은 페이지 출력
$browser -> cookie_jar -> clear;//쿠키삭제
sleep(15);//15초 텀
}
혼자서 perl 공부해 보다가 혹시 필요한 분들이 계실꺼 같아서 올려봅니다.
perl은 국내 서적이 없더군요 ㅠㅠ
참고로 싸이월드 뿐만 아니라 모든 사이트 다 적용이 됩니다.
$response = $browser->get($url, $header) 해주시면 헤더파일 까지 조작해서 request를 날리게 됩니다.
15초 슬립건 이유는 싸이에서 15초내로 다시 리퀘스트를 날리면 매크로 프로그램 이라고 차단을 해버려서 입니다.
한 ip당 하루최대 300개만 허용합니다. 15초 이후에 리퀘스트를 날려도 해당 ip가 300번 이상 들어오면 무조건 차단입니다.
영삼넷
Categories
Recent Posts
Recent Comments
Statistics
- Total Visitors:
- 522016
- Today:
- 68412449
- Yesterday:
- 9752447
IT강국 김영삼 블로그에 오신걸 진심으로 환영합니다.
©2002 영삼넷 // openkr
©2002 영삼넷 // openkr