def requestsMethodForPost(param):
url = upGradeUrl + '?'
request = requests.post(url, data=param)
response = request.text
print response
respDic = json.loads(response)
return respDic
大神们,我用 python 做接口自动化测试,遇到这么一个问题,在用 requests 中 post 请求的时候,参数中会带有中文,然后我就直接把中文传进去了:
params = {
'from':'internal',
'gps_type':'baidu',
'lat':'40.018597',
'lng':'116.476326',
'mac':'b4:30:52:5e:6d:61',
'model':'HUAWEI-HUAWEI C8817E',
'name':'先生',
'order_id':self.order_id,
'os':'HUAWEI19,4.4.4',
'phone':'13000000090',
}
然后,我就 post 出这个请求,但是在控制台,这个中文被直接自动转换为'\xe5\x85\x88\xe7\x94\x9f',导致这个传参一直是错误的,服务端会去校验你传入的值是否为正确编码格式,而 python 默认不会直接传入中文数据,这个有人遇到过吗