为什么我使用 Perl 的 WWW::Mechanize 会收到乱码内容?
Perl 的 WWW::Mechanize 返回完整的垃圾(如 ðäD=°"lc*Ñ2\7 õä1û⁄ac{oî´lDNöÓ8ß5o*F2Õ©-õ£z§2ÜÝ1,³íäþwÉ̄ÓQÞÆÁS¿IZDKÁ»,ËmÅS1r4!°s,¥4Jl;\J~í2¼) 检索页面后,
我确信它与特定网站相关 。我试图从中下载我需要的服务器。纯 html。
这是代码:
#!/usr/local/bin/perl -w
use WWW::Mechanize;
$url = 'http://www.example.com/brands/';
$mech = WWW::Mechanize->new();
$mech->get($url);
$page = $mech->content();
print "$page\n";
我想这可能是一个编码问题。
如何处理这个问题的任何线索?
关于
Perl's WWW::Mechanize returns complete garbage (like ðäD=°"lc*Ñ2\7 õä1û¼Âc{oî´lDNöÓ8ß5o*F2Õ©-õ£z§2ÜÝ1,³íäþwɯÓQÞÆÁS¿IZDKÁ»,ËmÅS1r4!°s,¥4Jl;\J~í2¼) after retrieving a page.
I am sure it is related to the particular web server from which I am trying to download. I need plain html.
Here's the code:
#!/usr/local/bin/perl -w
use WWW::Mechanize;
$url = 'http://www.example.com/brands/';
$mech = WWW::Mechanize->new();
$mech->get($url);
$page = $mech->content();
print "$page\n";
I guess this could be an encoding issue.
Any clues on how to handle this?
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
服务器可能正在发送压缩内容。尝试:
The server may be sending compressed content. Try:
我花了几天时间寻找这个。 Mechanize 发送一个标头,声称它进行了压缩,因此服务器会以压缩数据进行响应,而 Mechanize 并不知道它必须对这些数据进行解码。
该问题表现为错误“状态读取失败:”
如果您通过安装和使用 WWW::Mechanize::GZip 强制压缩,一切都会正常工作。
I've spent days hunting this down. Mechanize sends a header claiming it does compression, so the server responds with compressed data, which Mechanize doesn't know it has to decode.
The issue manifested itself with error "Status read failed:"
If you force compression by installing and using WWW::Mechanize::GZip, all will work fine.