为什么我使用 Perl 的 WWW::Mechanize 会收到乱码内容?

发布于 2024-12-11 02:47:11 字数 543 浏览 0 评论 0原文

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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

完美的未来在梦里 2024-12-18 02:47:12

服务器可能正在发送压缩内容。尝试:

$page = $mech->response->decoded_content;

The server may be sending compressed content. Try:

$page = $mech->response->decoded_content;
归途 2024-12-18 02:47:12

我花了几天时间寻找这个。 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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文