首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >访问网站- WWW::Mechanize

访问网站- WWW::Mechanize
EN

Stack Overflow用户
提问于 2011-11-13 18:41:27
回答 1查看 399关注 0票数 6

我试着使用下面的代码来获得网站的htm源代码,它工作了。但是,当我使用如下代码访问网站http://reserve.apple.com/WebObjects/ProductReservation.woa/wa/reserveProduct时,无法得到结果。但是,我可以通过适当的浏览器访问这个页面。你能给我一些提示或技巧来解决这个问题吗?谢谢。

代码语言:javascript
复制
#!/usr/bin/perl

use strict;
use warnings;

# create a new browser
use WWW::Mechanize;
my $browser = WWW::Mechanize->new();

# tell it to get the main page

my $sURL = 'http://www.apple.com';

#my $sURL = 'http://reserve.apple.com/WebObjects/ProductReservation.woa/wa/reserveProduct';

$browser->get($sURL);

print $browser->content;

exit(0);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-11-13 20:53:57

这是一种奇怪的行为,但是你想在url上检索的站点需要定义以下头部: Accept,Accept-Encoding,Accept-Language,Accept-Charset,Cookie。

否则,服务器根本不会响应。

只需在"get“请求前插入以下代码即可轻松完成此操作:

代码语言:javascript
复制
$browser->add_header(
    "Accept"          => "",
    "Accept-Encoding" => "",
    "Accept-Language" => "",
    "Accept-Charset"  => "",
    "Cookie"          => ""
);

您可以插入一些实值来代替空字段,但这也是可行的。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8110999

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档