这是场景:我需要连接到一个网站以检索XML格式的电子实验室结果。为了连接,我需要使用数字证书。

我已经能够在Perl中获得该版本的版本。看起来像这样:

#!/usr/bin/env perl

use strict;
use WWW::Mechanize;
$|++;

my $username = 'xxx';
my $password = 'yyy';

$ENV{HTTPS_PKCS12_FILE}     = 'CERTFILE.pfx';
$ENV{HTTPS_PKCS12_PASSWORD} = 'PathCert';

my $mech = WWW::Mechanize->new();
$mech->agent_alias('Windows IE 6');

$mech->get("https://www.example.org/xyz/,DanaInfo=999.33.1.10+");
$mech->get("https://www.example.org/xyz/isapi_pathnet.dll?Page=Login&Mode=Silent&UserID=xxx&Password=yyy,DanaInfo=999.33.1.10");
$mech->get("https://www.example.org/xyz/isapi_pathnet.dll?Page=HL7&Query=NewRequests,DanaInfo=999.33.1.10");

print $mech->content();


现在,当我从工作站运行它时,它可以工作。然而:


如果我使用perl2exe进行编译,它将无法正常工作。
如果我尝试使用pp进行编译(例如“ pp -r sslclient.pl”),我得到的只是“ 500 SSL协商失败:”
如果我将整个目录复制到另一台计算机,该脚本将仅挂在第一个$ mech-> get()语句上。
我真正想要的是在Python中找到与之等效的代码(我的应用程序的其余部分是Python),但到目前为止还没有运气。


因此,这里有很多问题。有人有想法么?

最佳答案

我不知道您的perl问题怎么回事。但是,可以在here中找到用于Python的机械化。

09-25 18:46