使用PFX证书连接到HTTP si

2024-09-30 18:34:11 发布

您现在位置:Python中文网/ 问答频道 /正文

下面是一个场景:我需要连接到一个web站点来检索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-rsslclient.pl版“),我得到的只是“500 SSL协商失败:”
  • 如果我将整个目录复制到另一台计算机上,脚本只会挂起第一个$mech->;get()语句。在
  • 我真正想要的是在Python中找到一个与之等价的东西(我的应用程序的其余部分是Python),但是到目前为止还没有运气。在

所以,这里有很多问题。有人有什么想法吗?在


Tags: httpsorgenvgetuseexamplemywww