我的Perl脚本适用于PC。但是,当我在Windows Server 2003服务器上运行它时,它给了我:
https 443错误(500无法连接到“网站”:443)。
我的脚本使用LWP:UserAgent
从HTTPS地址下载文件。这是我到目前为止所做的:
$ENV{PERL_LWP_SSL_VERIFY_HOSTNAME} = 0
,但它无效。Mozilla::CA
和CACertOrg::CA
,但它没有效果;我也试过设置$ENV{HTTPS_CA_FILE}= "path to the downloaded CA file"
,但它没有用。这是我的部分原始剧本:
sub retrieveHTTPS {
my ($url, $encrypted_file) = @_;
use LWP::UserAgent;
my $browser = LWP::UserAgent->new;
my $response =
$browser->get($url, ':content_file' => $encrypted_file);
die "Error at $url\n ", $response->status_line, "\n Aborting"
unless $response->is_success;}
如何解决此问题?
答案 0 :(得分:0)
来自LWP :: UserAgent文档:
libwww-perl核心不再捆绑SSL的协议插件。您 将需要单独安装LWP :: Protocol :: https以启用支持 用于处理https-URL。
您很可能没有在Windows Server 2003服务器上安装必需的模块来支持HTTPS。
尝试安装LWP :: Protocol :: https。
将use LWP::Protocol::https;
添加到脚本中以使此依赖项显式化也是一个好主意。