Perl HTTPS 443错误

时间:2012-11-28 19:15:08

标签: perl https

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

  

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

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

  1. 我测试了在该服务器上连接其他HTTPS地址,但是他们工作了。
  2. 我尝试设置$ENV{PERL_LWP_SSL_VERIFY_HOSTNAME} = 0,但它无效。
  3. 我尝试了Mozilla::CACACertOrg::CA,但它没有效果;我也试过设置$ENV{HTTPS_CA_FILE}= "path to the downloaded CA file",但它没有用。
  4. 这是我的部分原始剧本:

    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;}
    

    如何解决此问题?

1 个答案:

答案 0 :(得分:0)

来自LWP :: UserAgent文档:

  

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

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

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

use LWP::Protocol::https;添加到脚本中以使此依赖项显式化也是一个好主意。