最近用到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()
这样后果然可以了。
网友评论