我试着使用下面的代码来获得网站的htm源代码,它工作了。但是,当我使用如下代码访问网站http://reserve.apple.com/WebObjects/ProductReservation.woa/wa/reserveProduct时,无法得到结果。但是,我可以通过适当的浏览器访问这个页面。你能给我一些提示或技巧来解决这个问题吗?谢谢。
#!/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);发布于 2011-11-13 20:53:57
这是一种奇怪的行为,但是你想在url上检索的站点需要定义以下头部: Accept,Accept-Encoding,Accept-Language,Accept-Charset,Cookie。
否则,服务器根本不会响应。
只需在"get“请求前插入以下代码即可轻松完成此操作:
$browser->add_header(
"Accept" => "",
"Accept-Encoding" => "",
"Accept-Language" => "",
"Accept-Charset" => "",
"Cookie" => ""
);您可以插入一些实值来代替空字段,但这也是可行的。
https://stackoverflow.com/questions/8110999
复制相似问题