2013-07-30 2 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

Какие куки вы пытаетесь создать, и почему? Есть ли причина, по которой вы не можете использовать или копировать файлы cookie, установленные целевым веб-сайтом? – rutter

+0

да, что сайт просил куки из-за этого я не могу получить контент – harini

ответ

2

Атрибут cookie_jar ожидает HTTP::Cookies объект.

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

Ваша ошибка в том, чтобы объявить простой hashref, это означает, что временное в памяти печенья магазин, который уничтожается после окончания Mechanize.

+0

Спасибо u. daxim, но как я могу использовать тот же файл cookie для другого url – harini

+0

Просто скопируйте файл cookie и измените путь и домен. '$ 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

Смежные вопросы