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吧。