使用Perl从网站下载需要p12证书的文件
问题描述:
我有一个网站,我需要从中下载文件。该网站需要我拥有的数字证书。我有一个网站提供的p12文件,这个文件很容易导入到允许访问该网站的Windows中。我想要做的是从网站下载一堆csv文件并解析它们。使用Perl从网站下载需要p12证书的文件
我找到了Net :: SSLeay和Crypt :: SSLeay软件包。我也看到LWP :: Useragent提到了SSL,但我不确定这是否足以满足我所要做的。
所以基本上我需要知道从哪里开始,哪些软件包最容易用于此目的。
我正在与草莓的Perl 5.16.2
答
提供您已在P12转换成PEM格式,你可以使用:
use Mojo::UserAgent;
my $url = 'https://some.site.com/path/to/file.zip';
my $ua = Mojo::UserAgent->new(max_redirects=>5,
cert=>'client_cert.crt.pem',
key=>'client_cert.key.pem');
$ua->get($url)->res->content->asset->move_to('downloaded_file.zip');
如果您使用的草莓perl的,你需要先安装魔:: UserAgent的模块,像这样:
c:\> cpan -i Mojo::UserAgent
答
Windows 7从这篇文章看起来对我来说,OpenSSL的支持自2006年以来64位的Linux:
http://www.mail-archive.com/[email protected]/msg47285.html
这可能是可以对安装Windows 64bit How do you compile OpenSSL for x64?
因此,将其安装在Linux上是绝对可能的。请给我们你得到的错误。
问候,
答
转换的PKCS #12 certificate到PEM格式的openssl pkcs12
命令的帮助。安装LWP::Protocol::https。将SSL_ca_file
parameter设置为指向PEM文件。
对不起,我拿出了与OpenSSL有关的问题的一部分,直到我确信我甚至需要它来完成我想要做的事情。 – 2013-02-28 17:01:48
或者,安装cygwin并使用其openssl实用程序。 – ysth 2013-02-28 19:04:40
openssl实用程序与草莓perl捆绑在一起,只是尝试从命令提示符运行“openssl” – kmx 2013-02-28 20:07:33