我正在尝试使用 Python 成功连接到 LinkPoint 网关。对于那些不熟悉他们的 API 的人,您会得到一个.pem
用于身份验证的文件。
我在使用此文件和通过 SSL 创建安全连接时遇到问题。
根据他们的 API 文档(顺便说一句,还有很多不足之处),我相信配置应该如下所示:
HOST = 'secure.linkpt.net'
API_URL = 'https://secure.linkpt.net/lpc/servlet/lppay'
PORT = 1129
cert_key = my_cert_key.pem
使用此信息和有效XML
字符串如何创建此连接?
我对HTTP
Python 中的连接很陌生。我已经使用POST
with成功实现了与其他 API 的连接urllib2
。自然地,我的第一次尝试是从一个类似的方法开始的,希望我能偶然找到一个解决方案。
就像是:
headers = { 'User-Agent' : 'Rico',
'Content-type' : 'text/xml; charset=\"UTF-8\"',
'Content-length' : len(self.xml_string),
}
# POST to First Data (Link Point)
req = urllib2.Request(API_URL, self.xml_string, headers)
response = urllib2.urlopen(req)
self.handleResponse(response.read())
我几乎不希望这会奏效,因为我没有提供有关cert_key
或 的任何信息PORT
。
在此尝试之后,我尝试使用从另一个stackoverflow帖子的解决方案中找到的类似方法。不幸的是,由于我没有文件(我知道),所以我无法做到这ca_certs
一点cert
。
我尝试使用请求,但找不到文档/示例让我理解它。
我也尝试过使用Twisted,我真的希望我能用它做点什么,但这感觉就像试图用破坏球打开一扇门。对我来说,这感觉有点矫枉过正。我只需要一个简单的连接/请求/响应......这似乎过于复杂。
我的下一个尝试是PycURL,但在这个过程中遇到了足够的绝望,我想我会来这里看看是否有人在深入研究之前有一些好的建议。
如果您认为我应该重新访问这些工具之一,请告诉我。我并没有花太多时间在这些上——只是让我的脚湿透了。如果您还可以向我指出一个很好的示例或详细的文档,那就太好了。
另外,我不希望自己使用标准SSL
库来建立连接——如果我不需要的话,我不想重新发明轮子。