2013-04-22 53 views
0

我使用WWW :: Mechanize来抓取网站并收集关于正在设置的Cookie的信息。这里是我正在使用的代码:使用WWW丢失Cookies ::机械化

#! /usr/bin/perl 

use warnings; 
use WWW::Mechanize; 
use HTTP::Cookies; 

my $cookie_jar = HTTP::Cookies->new; 
my $mech = WWW::Mechanize->new(cookie_jar => $cookie_jar, autocheck => 1); 

my $response = $mech->get('http://assets.pinterest.com/images/PinExt.png'); 

print "Cookie:\n" . $cookie_jar->as_string; 

当我使用Chrome浏览器并检查资源时,我可以看到cookie被设置。但是,当我运行我的代码时,我什么也得不到。在很多网站上都有这个问题。为什么我错过Cookie?

回答

0

你的代码工作(打印饼干)为http://google.com/

我用火狐访问http://assets.pinterest.com/images/PinExt.png。没有设置Cookie。

+0

当我使用Firefox或Chrome访问时,我得到5个Cookie:\t __utma,__utmv,__utmz,_pinterest_sess,csrftoken。为什么没有这些显示在WWW :: Mechanize cookie jar中? – Datamyze 2013-05-02 02:58:48

+0

下载图像之前,您是否访问过网站上的其他页面? – AnFi 2013-05-02 06:51:16