2013-07-30 3 views
1
use WWW::Mechanize; 
use strict; 
my $agent = WWW::Mechanize->new(cookie_jar => {ignore_discard => 0}); 
$agent->add_header('User-Agent' => 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:20.0) Gecko/20100101 Firefox/20.0'); 
$agent->get($url); 
my $content = $agent->content; 
+0

어떤 종류의 쿠키를 만들려고합니까? 그 이유는 무엇입니까? 대상 웹 사이트에서 설정 한 쿠키를 사용하거나 복사 할 수없는 이유가 있습니까? – rutter

+0

네 그 웹 사이트 때문에 쿠키를 요구하는 콘텐츠를 얻을 수 없습니다. – harini

답변

2

cookie_jar 속성은 HTTP::Cookies 개체를 필요로합니다.

WWW::Mechanize->new(
    cookie_jar => HTTP::Cookies->new(
     file => 'lwp_cookies.dat', 
     autosave => 1, 
    ) 
) 

실수로 해시 레퍼런스를 선언하는 것이 었습니다. 이것은 기계화가 끝난 후 파괴되는 임시 메모리 내장 쿠키 저장소를 의미합니다.

+0

감사합니다. daxim하지만 다른 URL에 대해 동일한 쿠키를 사용하는 방법 – harini

+0

쿠키를 복사하고 경로와 도메인을 수정하기 만하면됩니다. '$ agent-> cookie_jar-> scan (sub {my @cookie = @_; if ($ cookie [3] eq '/'와 $ cookie [4] eq 'www.example.net') {@cookie [3 , 4] = ('/ fnord', 'www.example.com'); $ agent-> cookie_jar-> set_cookie (@cookie);});' – daxim

관련 문제