接口测试使用requests库会经常遇到的unicode编码问题

使用python的requests库发送接口请求如果参数存在中文,在打印返回数据的时候会遇到  ‘\深\圳jnbzmel’  类型斜杠加字母的这种其实不是乱码是unicode编码

解决办法一:

在传json格式参数的时候将json.dumps()的参数改为ensure_ascii=False,默认位True,

url = 'https://xxxxxxxxxx/cgi-bin/tags/create?'
data = {"tag":{"name":"测试测试333"}}
data_str = json.dumps(data,ensure_ascii=False)
res = requests.post(url,json=data)
print(res.json())

解决办法二:

修改request源代码

找到request包下的 》models.py 文件 找到该文件的  prpare_body 方法将json.dumps()的参数改为ensure_ascii=False,默认位True,此时在对接口发送请求就不会出现unicode问题了,对HttpRunner框架也同样有效。

 

posted on 2022-04-16 12:58  亡心忘  阅读(1149)  评论(0)    收藏  举报