Вопрос Python и curl - PullRequest
       21

Вопрос Python и curl

4 голосов
/ 23 февраля 2010

Я буду передавать информацию о покупке (например, CC) на банковский шлюз и получать результат с помощью Django, таким образом, через Python.

Каков эффективный и безопасный способ сделать это?

Я прочитал документацию по этому шлюзу для 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, для этого я провел некоторый поиск и, похоже, есть приложение на языке curl с именем pycurl , но у меня нет опыта использования curl, и я не знаю, так ли Библиотека подходит для этой задачи. Имейте в виду, что, поскольку этот перевод требует безопасности, я буду использовать SSL.

Любое предложение будет оценено.

Ответы [ 2 ]

10 голосов
/ 23 февраля 2010

Использование стандартной библиотеки 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 содержит данные для отправки.

3 голосов
/ 23 февраля 2010

Цитировать pycurl.sourceforge.net:

Подводя итог, можно сказать, что PycURL очень быстрый (особенно для нескольких одновременных операций) и очень функциональный, но имеет довольно сложный интерфейс. Если вам нужно что-то более простое или вы предпочитаете чистый модуль Python, вы можете проверить urllib2 и urlgrabber. Существует также хорошее сравнение различных библиотек.

И curl, и urllib2 могут работать с https, так что решать вам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...