接口测试使用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框架也同样有效。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM