Python和卷曲问题

时间:2010-02-23 17:05:28

标签: 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 value is also an xml, seems like they are splitting by each `\n`

并使用$ data,如果付款被接受,被拒绝等,他们会处理。

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

任何建议都将受到赞赏。

2 个答案:

答案 0 :(得分:10)

使用标准库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变量保存要发送的数据。

答案 1 :(得分:3)

引用pycurl.sourceforge.net:

  

总而言之,PycURL非常快(尤其适用于多个并发操作)并且功能非常完整,但界面有些复杂。如果您需要更简单的东西或更喜欢纯Python模块,您可能需要查看urllib2和urlgrabber。各种图书馆也有很好的比较。

curl和urllib2都可以使用https,因此取决于你。