2012-06-12 54 views
2

因此,我使用WWW :: Mechanize获取页面的内容,并且我想设置最大大小。此外,如果最大尺寸被击中,我希望获得已经得到的内容,直到这一点。我知道,在LWP,你可以做这样的:在即使1024个字节已经达到了这一点perl WWW :: Mechanize设置最大大小,仍然获得内容

my $ua = LWP::UserAgent->new; 
$ua->max_size(1024); 
$ua->get($url); 

而现在,$ua->content仍然会认为它已经得到了,直到这一点可读的内容。 WWW ::机械化是LWP的子类,所以你可以将它设置基本上是完全相同的方式:

my $mech = WWW::Mechanize->new; 
$mech->max_size(1024); 
$mech->get($url); 

然后你会想,既然WWW ::机械化是LWP :: UserAgent的,$mech->content的子类将保存检索到的内容,直到大小达到1024字节。但是,每当我跑这一点,并达到最大尺寸我从WWW获取内容::机械化对象,看起来像这样:

?|???-???+"?O<?p}?,?ܙmW ?`E??\\ސ???ѧ??U{3??? 

有谁知道我怎样才能得到WWW ::机械化实际输出的东西可读像它的超类LWP :: UserAgent呢?我喜欢WWW :: Mechanize提供的一些额外功能,所以我希望能够继续使用它,而不是仅仅为此而切换到LWP。谢谢!

+1

你阅读gzip压缩输入或允许服务器发送压缩输入? – mob

+0

http://stackoverflow.com/questions/10989684/lwp-set-max-size-but-still-get-content的可能重复? – dgw

+0

这不是重复的,因为这是要求如何使用WWW :: Mechanize做到这一点。 – srchulo

回答

0

我认为这是$mech->response->decoded_content

相关问题