【发布时间】:2018-04-21 08:29:41
【问题描述】:
我正在使用以下代码,带有以下 sn-p:
我的 $mech = WWW::Mechanize->new('ssl_opts' => { 'verify_hostname' => 0 });
仍然抛出以下错误:
错误 GETing https://www.1031exchangeinc.com/:无法连接到 www.1031exchangeinc.com:443(SSL 连接尝试失败错误:14077410:SSL 例程:SSL23_GET_SERVER_HELLO:sslv3 警报握手失败)在 crawl.pl第 29 行。
我想忽略 SSL 握手。
#!/usr/bin/perl
use Modern::Perl;
use WWW::Mechanize;
use IO::Socket::SSL;
my $root = 'https://www.1031exchangeinc.com/';
my $domain = 'https://www.1031exchangeinc.com';
#my $mech = WWW::Mechanize->new;
my $mech = WWW::Mechanize->new( 'ssl_opts' => { 'verify_hostname' => 0 } );
sub visit {
my $url = shift;
my $indent = shift || 0;
my $visited = shift || {};
my $tab = ' ' x $indent;
# Already seen that.
return if $visited->{$url}++;
# Leaves domain.
if ($url !~ /^$domain/) {
say $tab, "-> $url";
return;
}
# Not seen yet.
say $tab, "- $url ";
$mech->get($url);
visit($_, $indent+2, $visited) for
map {$_->url_abs} $mech->links;
}
visit($root);
【问题讨论】:
标签: perl ssl www-mechanize