Подтвердить что ты не робот

Эквивалент Python сообщения HTTP Curl

Я отправляю на сервер Hudson с помощью curl из командной строки, используя следующее:

curl -X POST -d '<run><log encoding="hexBinary">4142430A</log><result>0</result><duration>2000</duration></run>' \
http://user:[email protected]/hudson/job/_jobName_/postBuildResult

как показано в документации hudson. Я могу эмулировать одно и то же с помощью python..i не хочу использовать pyCurl или отправлять эту строку через os.system().. существует ли какой-либо выход с использованием raw python?

4b9b3361

Ответ 1

import urllib2

req = urllib2.Request(url, data)
response = urllib2.urlopen(req)
result = response.read()

где данные - это закодированные данные, которые вы хотите использовать POST.

Вы можете закодировать dict, используя urllib следующим образом:

import urllib

values = { 'foo': 'bar' }
data = urllib.urlencode(values)