2013-04-22 90 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