requests请求时,遇到的Accept-Encoding问题

requests请求时,遇到的Accept-Encoding问题在使用requests请求链接的时候,发现请求得到的内容总是一堆乱码:此时请求的headers里的Accept-Encoding是这样写的:headers={‘Accept-Encoding’:’gzip,deflate’,’User-Agent’:str(‘Mozilla/5.0(WindowsNT10.0;Win64;x64;rv:81.0)Gecko/20100101Firefox/81.0’)}查看目标

大家好,又见面了,我是你们的朋友全栈君。

在使用requests请求链接的时候,发现请求得到的内容总是一堆乱码:

requests请求时,遇到的Accept-Encoding问题

此时请求的headers里的Accept-Encoding是这样写的:

    headers = {
        'Accept-Encoding': 'gzip, deflate',
        'User-Agent': str('Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:81.0) Gecko/20100101 Firefox/81.0')
    }

查看目标网页源码可知,源码的编码是gbk的,但是下载得到的response,即使是通过硬编码:response.encoding = ‘gbk’,得到的内容依然是乱码。当把Accept-Encoding里的gzip去掉后,才能得到正确的内容。这里是因为压缩算法的原因,具体可参考:Accept-Encoding

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/159689.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 最常用MySql数据库备份恢复

    最常用MySql数据库备份恢复1、数据备份类型:·完全备份:故名思议备份整个数据库·部分备份:备份一部分数据集;·增量备份:自上次备份以来的改变数据的备份;                                                ·差异备份:自上次完全备份后改变数据的备份;2、数据备份的方式:                  存储引擎支持 MyISAM  Innodb·热备份:数据库启动,…

    2022年5月22日
    46
  • java面试题及答案整理_nginx优化面试

    java面试题及答案整理_nginx优化面试nginx负载均衡的算法怎么实现的nginx的upstream目前支持4种方式的分配1)、轮询(默认)每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。2)、weight指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。2)、ip_hash每个请求按访问ip…

    2022年8月27日
    5
  • BIEE-1 初始化块和变量[通俗易懂]

    BIEE-1 初始化块和变量[通俗易懂]一、初始化块biee初始化块分为资料库、会话两类资料库初始化块:可批量同事定义变量的值配置:1.“编辑数据源”写入sql并分配地址池;2.“编辑数据目标”配置变量,变量的值和初始化sql结果是按顺序匹配的,一对一关系;3.“刷新时间间隔”默认是1小时,即每个一小时系统就会自动执行一遍此初始化块语句,并把结果存在缓冲池中,用户登录系统时,从缓冲池中

    2025年5月24日
    4
  • C++-Windows消息循环GetMessage/TranslateMessage/DispatchMessage[通俗易懂]

    C++-Windows消息循环GetMessage/TranslateMessage/DispatchMessage[通俗易懂]1.windows消息循环if(GetMessage(&msg,NULL,0,0)){TranslateMessage(&msg);//消息转化DispatchMessage(&msg);//消息派遣.把TranslateMessage转换的消息发送到窗口的消息处理函数,此函数在窗口注册时已经指定}执行过程:消息循环调用G…

    2025年11月4日
    5
  • Spring Boot 中的 Starters

    Spring Boot 中的 StartersSpringBoot 中的 Starters

    2025年6月11日
    5
  • Traceroute原理「建议收藏」

    Traceroute原理「建议收藏」通过traceroute我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路径。当然每次数据包由某一同样的出发点(source)到达某一同样的目的地(destination)走的路径可能会不一样,但基本上来说大部分时候所走的路由是相同的。linux系统中,我们称之为traceroute,在MSWindows中为tracert。traceroute通过发送小的数据包到目的设备直到其返回,来测量其需要多长时间。一条路径上的每个设备traceroute要测3次。输出结果中包括每次测试的时间(ms)和

    2022年7月21日
    19

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号