【发布时间】:2017-03-09 02:06:24
【问题描述】:
我的 Perl 脚本可以在 PC 上运行。但是,当我在 Windows Server 2003 服务器上运行它时,它给了我:
https 443 错误(500 无法连接到“网站”:443)。
我的脚本使用LWP:UserAgent 从 HTTPS 地址下载文件。这是我到目前为止所做的:
- 我测试了连接该服务器上的其他 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;}
我该如何解决这个问题?
【问题讨论】:
-
你的意思是403吗?您的错误日志中有什么内容?
-
错误信息是 500 can't connect to "...": 443
-
请添加完成错误信息。
-
另外,将
use LWP::UserAgent放在文件顶部,这样您就可以将所有依赖项放在一个位置。used 模块在编译时加载。这意味着,仅在调用 sub 时不会加载它。它总是在文件第一次编译时被加载。