Взгляните на Запросы , обертка для urllib2 (я верю). Разорвав один из примеров с этой страницы:
# This example cooked up by me!
import requests
post_data = {"amount":10000, "service":"writing blog posts"}
r = requests.post('http://example.com/api', post_data, auth=('user', 'pass'))
print r.status_code
print r.headers['content-type']
# ------
# 200
# 'application/json'
Вы должны иметь возможность установить все, что вы хотите для post_data
.