美文网首页HCLAB
python3 requests的post请求参数包含中文报错

python3 requests的post请求参数包含中文报错

作者: 肉团先生 | 来源:发表于2021-05-25 07:54 被阅读0次
is not valid Latin-1. Use body.encode('utf-8') if you want to send it encoded in UTF-8.

问题指明:post请求中文,无法进行编码,需要对参数进行“utf-8”的编码

尝试:按报错进行解决:

response=requests.request("POST", url, data=payload.encode("utf-8"), headers=headers)

出现问题:返回的response的中文数据为乱码

中文乱码

相当乱码的话,应该是编码不匹配的问题,尝试解决:

print(response.text.encode("utf-8"))

结果这乱码更加摸不着头脑了:


encode("utf-8")乱码

这个问题,一直弄了我一个晚上,太困睡觉,起床后,直到这篇解决我的问题:python 设置requests 编码,完美解决中文乱码问题

response.enconding="utf-8"
print(response.text)

拓展:特别注意-requests的请求头header,一些设置编码的参数问题:

请求头:header:
'accept-encoding': "gzip, deflate, br",

这个请求头直接印象下面乱码:


image.png

解决分析参考: 从python爬虫引发出的gzip,deflate,sdch,br压缩算法分析

就因为这个,让我弄了一晚,得到的经验是:在测试bug的时候,尽量减少变量,能不要的,就不要

参考

相关文章

  • python3 requests的post请求参数包含中文报错

    问题指明:post请求中文,无法进行编码,需要对参数进行“utf-8”的编码 尝试:按报错进行解决: 出现问题:返...

  • gf框架 ghttp使用

    案例中包含以下内容 get请求 get请求携带参数 post请求携带参数 post请求发送xml数据 post请求...

  • Requests库的深入

    基本POST请求(data参数) 1. 最基本post方法 response = requests.post("h...

  • 使用Requests发送POST请求

    接口: Python 使用requests发送POST请求: 运行结果: 学习网址:Requests中文文档

  • 快速上手 — Requests 2.18.1 文档

    快速上手 — Requests 2.18.1 文档 发送请求 传递 URL 参数 定制请求头 更加复杂的 POST...

  • python requests ssl报错

    今天用python的requests模块post的请求的脚本,遇到了ssl报错特此记录下 一个很简单的post请求...

  • python requests

    get请求添加参数使用params关键字requests.get(url, params=data)post请求r...

  • 爬虫的主要内容

    爬虫的主要内容 requests 发送请求 传递url参数 读取相应内容 定制请求头部 Post请求 响应状态码 ...

  • 装饰器-验证API入参

    这里主要验证GET请求和POST请求 GET传参 GET把参数包含在URL中 POST传参 POST参数放到bod...

  • requests(1)

    2、requests请求 请求方法:requests.get requests.post requests.put...

网友评论

    本文标题:python3 requests的post请求参数包含中文报错

    本文链接:https://www.haomeiwen.com/subject/gxkqsltx.html