import urllib
urllib._urlopener = urllib.FancyURLopener()
urllib._urlopener.addheader("Authorization", "Token ABCDEFG")
url = "http://your_host"
data = urllib.urlencode({"data": "123"})
plugin_path = "321"
print urllib.urlretrieve(url, plugin_path, data=data)
但这里无法修改content-type,看源码看了半天,urllib在POST时内置了content-type,即使再add 上content-type,也是两个content-type,服务器只认第一个。
所以遇到rest ful 风格的POST接口,要不改源码要不换requests吧。