首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Perl LWP::Simple HTTPS错误

Perl LWP::Simple HTTPS错误
EN

Stack Overflow用户
提问于 2014-02-04 02:32:59
回答 2查看 10.1K关注 0票数 2

我正在尝试获取网站的内容并打印出来。代码的工作方式,我希望它与常规的HTTP网站,但它不会与HTTPS的工作。

我已经查找了这个问题的修复程序,但它们在我的程序中不起作用。这是我目前拥有的代码:

代码语言:javascript
复制
#! usr/bin/perl
use strict;
use warnings;
use LWP::Simple;
use LWP::UserAgent;
use 5.014;

$ENV{PERL_LWP_SSL_VERIFY_HOSTNAME} = 0;

my $ua = LWP::UserAgent->new();
$ua->ssl_opts( verify_hostnames => 0 );

getprint('https://<website>')or die 'Unable to get page';

这就是我得到的错误:

代码语言:javascript
复制
500 Can't connect to <IP address>:443 (certificate verify failed) <URL:https://<website>>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-02-04 02:54:38

也许下面的内容会对你有所帮助:

代码语言:javascript
复制
use strict;
use warnings;
use LWP::UserAgent;
use open qw(:std :utf8);

my $ua = LWP::UserAgent->new( ssl_opts => { verify_hostname => 0 } );
my $response = $ua->get('https://<website>');

if ( $response->is_success ) {
    print $response->decoded_content;
}
else {
    die $response->status_line;
}

参见LWP::Protocol::httpsLWP::UserAgent

票数 4
EN

Stack Overflow用户

发布于 2014-02-04 08:23:01

$ua->ssl_opts( verify_hostnames => 0 );失败的原因可能是因为verify_hostname拼写错误。

我不知道为什么$ENV{PERL_LWP_SSL_VERIFY_HOSTNAME} = 0;会失败,但可能是因为必须在加载SSL库之前设置环境变量。

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

https://stackoverflow.com/questions/21534952

复制
相关文章

相似问题

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