import urllib2
opener = urllib2.build_opener(urllib2.HTTPHandler)
request = urllib2.Request('http://example.org', data='your_put_data')
request.add_header('Content-Type', 'your/contenttype')
request.get_method = lambda: 'PUT'
url = opener.open(request)
Необходимо взглянуть на httplib модуль . Это должно позволить Вам сделать любой вид Запроса HTTP, который Вы хотите.
Я должен был решить эту проблему слишком некоторое время назад так, чтобы я мог действовать как клиент для УСПОКОИТЕЛЬНОГО API. Я обосновался на httplib2, потому что он позволил мне отправлять ПОМЕЩЕННЫЙ и УДАЛЯТЬ, кроме того, для ПОЛУЧЕНИЯ и POST. Httplib2 не является частью стандартной библиотеки, но можно легко получить его из магазина сыров.
Я также рекомендую httplib2 Joe Gregario. Я регулярно использую это вместо httplib в стандартном lib.
Вы смотрели на put.py? Я использовал его в прошлом. Можно также просто изрубить собственный запрос с urllib.
Вы можете, конечно, самокрутка с существующими стандартными библиотеками на любом уровне от сокетов до тонкой настройки urllib.
http://pycurl.sourceforge.net/
"PyCurl является интерфейсом Python к libcurl".
"libcurl свободная и простая в использовании клиентская библиотека передачи URL... поддержки... HTTP, ПОМЕЩЕННЫЙ"
"Основной недостаток с PycURL, - то, что это - относительный тонкий слой по libcurl без любой из тех хороших иерархий классов Pythonic. Это означает, что имеет несколько крутую кривую обучения, если Вы не уже знакомы с API libcurl C".