python post请求携带json body

最近用到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()

这样后果然可以了。

你可能感兴趣的:(python post请求携带json body)