我正在尝试使用LWP从远程主机下载文件。下面是我的代码的一个简化版本,它复制了错误:
#!/usr/local/bin/perl5.8 -w
use strict;
use LWP::UserAgent;
my $userAgent = LWP::UserAgent->new;
$userAgent->agent("p_o_c");
my $request = HTTP::Request->new(GET=>"https://ajax.googleapis.com/ajax/libs/prototype/1.7.2.0/prototype.js");
my $response = $userAgent->request($request);当我运行这段代码时,我会得到以下内容:
[dev] /home/me > ./tmp/poc.pl
/usr/local/bin/perl5.8: symbol lookup error: /usr/local/ext/perl/5.8.0/lib/site_perl/i686-linux-thread-multi/auto/Crypt/SSLeay/SSLeay.so: undefined symbol: OpenSSL_add_all_algorithms此外,如上所示,我运行的是perl 5.8。我在运行RHEL6.4(圣地亚哥)。
我尝试过通过http (而不是https)下载一个文件,这是可行的。
有没有人知道如何让这个https下载开始工作?除了LWP之外,我对其他方法也很开放,但这似乎是最简单的方法。
发布于 2014-05-28 14:25:51
正如Oesor所提到的,我使用的是一个非常古老的Perl版本(不是自愿的)。使用较新的版本解决了问题。
https://stackoverflow.com/questions/23898737
复制相似问题