Эквивалент 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?
Ответы
Ответ 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)