为什么我的Perl脚本不能打印cookie值?

时间:2010-07-28 05:26:49

标签: perl cookies mechanize

当我使用IE访问usatoday.com时,我的Temporary Internet Files文件夹中会自动创建cookie文件。但是为什么下面的Perl脚本没有捕获任何内容?

use WWW::Mechanize;
use strict;
use warnings;

my $browser = WWW::Mechanize->new();
my $response = $browser->get( 'http://www.usatoday.com' );
my $cookie_jar = $browser->cookie_jar(HTTP::Cookies->new()); 
$cookie_jar->extract_cookies( $response );
my $cookie_content = $cookie_jar->as_string;
print $cookie_content;

对于像amazon.com,google.com和yahoo.com这样的其他网站,该脚本运行良好,但至少在我看来usatoday.com也向浏览器发送cookie信息,为什么我有不同的结果?有什么我想念的吗?

有什么想法吗?谢谢!

1 个答案:

答案 0 :(得分:3)

UsaToday使用Javascript来设置cookie。 WWW :: Mechanize不解析或运行Javascript。

如果您需要使用cookie抓取网站,您可以分析http://i.usatoday.net/_common/_scripts/gel/lib/core/core.js和其他JS文件,并确定如何创建cookie,并以编程方式自行创建。