Python与卷曲问题

Python与卷曲问题,python,django,curl,Python,Django,Curl,我将把购买信息(如CC)传输到银行网关,并通过Python使用Django检索结果 这样做的有效和安全的方式是什么 我已经阅读了php网关的文档,他们似乎使用了以下方法: $xml= Some xml holding data of a purchase. $curl = `/usr/bin/curl -s -d 'DATA=$xml' "https://url of the virtual bank POS"`; $data=explode("\n",$curl); //return valu

我将把购买信息(如CC)传输到银行网关,并通过Python使用Django检索结果

这样做的有效和安全的方式是什么

我已经阅读了php网关的文档,他们似乎使用了以下方法:

$xml= Some xml holding data of a purchase.
$curl = `/usr/bin/curl -s -d 'DATA=$xml' "https://url of the virtual bank POS"`;
$data=explode("\n",$curl); //return value is also an xml, seems like they are splitting by each `\n`
并使用$数据处理付款是否被接受、拒绝等

我想在python语言下实现这一点,为此我做了一些搜索,似乎有一个名为pythonclul的应用程序,但我没有使用curl的经验,不知道这个库是否适合此任务。请记住,由于此传输需要安全性,我将使用SSL


如有任何建议,将不胜感激。

引用pycurl.sourceforge.net:

总之,PycURL非常快(特别是对于多个并发操作),功能非常完整,但接口有点复杂。如果您需要更简单的东西或更喜欢纯Python模块,您可能需要查看urllib2和urlgrabber。对各种图书馆也进行了很好的比较


curl和urllib2都可以使用https,所以这取决于您。

使用标准库
urllib2
模块就足够了:

import urllib
import urllib2

request_data = urllib.urlencode({"DATA": xml})
response = urllib2.urlopen("https://url of the virtual bank POS", request_data)

response_data = response.read()
data = response_data.split('\n')

我假设
xml
变量包含要发送的数据。

非常感谢lukasz!我很好奇是否有任何额外的参数/方法可以帮助/强制HTTPS连接?如果您安装了socket.ssl,Python的stdlib可以很好地处理HTTPS连接(对于某些Python发行版来说不是这样)。除此之外,唯一的另一个问题是检查证书有效性,如果您需要,那么httplib.HTTPSConnection将提供帮助。