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 默认不会直接传入中文数据,这个有人遇到过吗


↙↙↙阅读原文可查看相关链接,并与作者交流