0

我的 Perl 脚本适用于 PC。但是,当我在 Windows Server 2003 服务器上运行它时,它给了我:

https 443 错误(500 无法连接到“网站”:443)。

我的脚本用于LWP:UserAgent从 HTTPS 地址下载文件。这是我到目前为止所做的:

  1. 我测试了在该服务器上连接其他 HTTPS 地址,它们工作正常。
  2. 我尝试设置$ENV{PERL_LWP_SSL_VERIFY_HOSTNAME} = 0,但它不起作用。
  3. 我尝试了Mozilla::CAand 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;}

我该如何解决这个问题?

4

1 回答 1

0

从 LWP::UserAgent 文档中:

libwww-perl 核心不再为 SSL 捆绑协议插件。您将需要单独安装 LWP::Protocol::https 以启用对处理 https-URL 的支持。

您很可能没有在 Windows Server 2003 服务器上安装必要的模块来支持 HTTPS。

尝试安装 LWP::Protocol::https。

use LWP::Protocol::https;添加到您的脚本中以明确此依赖关系也是一个好主意。

于 2012-11-28T20:14:04.027 回答