美文网首页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请求参数包含中文报错

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