post请求参数是个json,会有各种问题
来源:4-5 使用类封装接口测试脚本

_静言_
2020-07-02
先说问题:
一个post请求,传参就一个{“province”: “四川省”}
请求头编码格式:content-type:application/json
import requests
import pprint
data = {"province": "四川省"}
url = 'http://192.168.0.95:3000/api/certCard/findCertCardPage'
def send_post(url, data):
headers = {"Content-Type": "application/json"}
res = requests.post(url=url, data=data, headers=headers)
return res.json()
pprint.pprint(send_post(url, data))
如果data直接使用 {“province”: “四川省”},实际传参是这样的:
province=%E5%9B%9B%E5%B7%9D%E7%9C%81
而且如果不传递编码格式,服务器会直接报服务器异常:
{‘code’: ‘000001’, ‘data’: {}, ‘msg’: ‘服务异常’, ‘status’: False}
这个和老师你说的不一样啊,data部分如果是json实际应该怎么处理?
写回答
1回答
-
_静言_
提问者
2020-07-02
如果把data赋值修改成 data = json.dumps({"province": "四川省"}) 就能正常获取数据
但是,抓包发现请求的data值是这样的:{"province": "\u56db\u5ddd\u7701"} 进行了转码
032020-07-03
相似问题