Python读取json文件发post(python json读取文件)
Python: 模拟post请求时的相关问题:cookie,json
需求:模拟客户端进行post请求,除业务参数外,还需带有sign参数
在实现该需求时,使用了 requests.request()方法: requests.request('POST',url,data=rdata,cookies=rcookie),随后执行时遇到了以下问题:
原因:缺失了header相关信息
解决方法:在header中添加 User-Agent 和 refer等相关信息
原因:请求的body中,需以 json 形式传参,而初始调用时使用的为data
解决方法:解决方法有俩,
① 因为request() 参数中本来即存在 json,可直接使用json来传参,即:
requests.request('POST',url,json=json.dumps(rdata),cookies=rcookie)
② 也可继续使用 data 参数,此时需指定 content-type:
P.S. 若不指定content-type,data为dict时,默认为application/x-www-form-urlencoded;
data为str时,则默认为application/json。
python post请求携带json body
最近用到python发post请求,因为习惯在后端处理json数据,所以打算用json做post body
以为这么写就可以
但是实际在server处理时一直读不到body数据,后来调试发现数据依然在postform里。然后才想起来应该是Content-type的问题
改成
这样后果然可以了。
python中post提交json问题
import?urllib
import?urllib2
url?=?''
info={"name":"user"}
data?=?urllib.urlencode(info)
urlib2.urlopen(url,data=data)