繁体   English   中英

访问网站 - WWW :: Mechanize

[英]Access website - WWW::Mechanize

我尝试使用下面的代码来获取网站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);

这是一种奇怪的行为,但是您想要检索的URL的站点需要定义以下标题:Accept,Accept-Encoding,Accept-Language,Accept-Charset,Cookie。

否则服务器根本不响应。

您只需在“获取”请求之前插入以下代码即可轻松完成此操作:

$browser->add_header(
    "Accept"          => "",
    "Accept-Encoding" => "",
    "Accept-Language" => "",
    "Accept-Charset"  => "",
    "Cookie"          => ""
);

您可以插入一些实际值,而不是空字段,但这也适用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM