最近用到python發post請求,因為習慣在后端處理json數據,所以打算用json做post body
api="xxxx"
body={"content":"xxx"}
urllib2.urlopen(api,json.dumps(body))
以為這么寫就可以
但是實際在server處理時一直讀不到body數據,后來調試發現數據依然在postform里。然后才想起來應該是Content-type的問題
改成
request = urllib2.Request(stateupdateapi)
request.add_header("Content-Type", "application/json")
ret = urllib2.urlopen(request,json.dumps(body)).read()
這樣后果然可以了。