接口測試使用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