python使用requests获取内容编码后仍然乱码:c\x00\xa0a\x00@6s\xd6\x1b\x1f\x7f\xd5\x07\x14\x17\x17C\x07\x88\xaa

news/2024/9/30 4:31:19/

使用requests+代理获取某个网站内容时,一直乱码,源代码是这样的:

headers:

 "headers": {"accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9","accept-encoding": "gzip, deflate, br","accept-language": "zh-CN,zh;q=0.9","cache-control": "max-age=0","sec-ch-ua": "\" Not;A Brand\";v=\"99\", \"Google Chrome\";v=\"97\", \"Chromium\";v=\"97\"","sec-ch-ua-mobile": "?0","sec-ch-ua-platform": "\"Windows\"","sec-fetch-dest": "document","sec-fetch-mode": "navigate","sec-fetch-site": "same-origin","sec-fetch-user": "?1","upgrade-insecure-requests": "1","user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36"}

调用的时候是这样的:

proxies = {"HTTP": "http://{}:{}@{}:{}".format(pconfig['proxyUser'], pconfig['proxyPass'], pconfig['proxyHost'], pconfig['proxyPort']),"HTTPS": "https://{}:{}@{}:{}".format(pconfig['proxyUser'], pconfig['proxyPass'], pconfig['proxyHost'], pconfig['proxyPort'])
}
result = requests.get(url=url, headers=headers, timeout=timeout, proxies=proxies, verify=False)
if result is not None and result.status_code == 200:errMsg = ""urlhtml = result.textrealurl = result.url  # 重定向地址break
else:

但是获取到的结果是这样的:

result.content= "b'c\x00\xa0a\x00@6s\xd6\x1b\x1f\x7f\xd5\x07\x14\x17\x17C\x07\x88\xaa\xa3&\xea\x18r\xb6\xb2|\xff\x97\tr\xc0G\xd4\xbdT=\xd0\x13\xd9\xdd\xf9WRz\xa1V\xe6\xcf\xfeMoX\x9b]\x82y\xb1}\x9e\x8a!h\x85\x0e8D\x01\x8fH\x1e\xcbu\x91?\x97\x84\x08\xe2%n?D9z\xf4\xf6\xe1\xa7\xef\xef\x1e\xc3\xb3O\xaf_\xd5P....."
result.text="c �a @6s��C���&�r��|��    r�GԽT=����WRz�V���MoX�]�y�}��!h�8D�H�u�?���%n?D9z�����óO�_�P����+�������٨�����    �h����0�dV!�>�aH�����q8x�������36ZD��cC"M��aSC�H�7@k"��=��b�~N(�s/�Fj�!G3�$а�w���O���n��GQщ۩......"

看了一下result.apparent_encoding,然而:result.apparent_encoding=None   (吐血!)

当时搜了各种解决方案(以下给大家参考,也许可用):

你的apparent_encoding 还准确么? - 灰信网(软件开发博客聚合)

Python requests响应内容乱码解决方案 | 漏洞人生

解决Requests中文乱码_chaowanghn的博客-CSDN博客_requests 乱码

https://segmentfault.com/a/1190000012984536

但是上述办法对我毫无效果,直到第二天看到这篇文章:

requests 中文编码错误_chaoge_dgqb的博客-CSDN博客_requests编码错误

终于发现我的headers设置了一个多余的:

"accept-encoding": "gzip, deflate, br",

把它删掉之后,就立马好了。

所以有时候少即是多....(说点假道理,其实多用不同方式搜索问题,才是正确解法)


http://www.ppmy.cn/news/177527.html

相关文章

java.sql.SQLException: Incorrect string value: '\xE6\x88\x91\xE7\x9A\x84...' for column ...

重装mysql后,用Java程序往mysql中写数据,出现如下错误: java.sql.SQLException: Incorrect string value: \xE6\x88\x91\xE7\x9A\x84... for column title at row 1 解决方案: 原程序中向数据库中创建表的操作,语句如…

seedlab 软件安全

TASK1 获取shell,括号里为覆盖地址,右边%n的使用参见参考链接: sudo sysctl -w kernel.randomize_va_space01.3 echo $(printf "\x54\xed\xff\xbf\x55\xed\xff\xbf\x56\xed\xff\xbf\x57\xed\xff\xbf").%.84x.%9\$hhn%.16x.%7\$h…

各种转码(bytes、string、base64、numpy array、io、BufferedReader )

# 将字节流转ndarray import io import struct import cv2 import numpy as np a b\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\xa0\x00\x00\x00\xa0\x08\x02\x00\x00\x00\x04\xad\xf0z\x00\x00\x91[IDATx\x9cd\xfdi\x93,K\x93\x1e\x86\xf9\x16\x91YKw\x9fs\xee\xfen\x9…

PCManFTP v2.0(CVE-2013-4730)漏洞分析

1. 软件简介 PCMans FTP Server是洪任谕程序员所研发的一套FTP服务器软件。该软件具有体积小、功能简单等特点。 2. 漏洞成因 PCMans FTP Server 2.0.0版本中存在缓冲区溢出漏洞。 该软件由于未能有效处理FTP命令的长度字符(最大0x1000),进而在调用字符串拷贝函数…

基于Python的文件操作之第1课读文件

学习目标 掌握基于python对文件相关操作 每种格式包含很多相关操作,学习只要掌握知识点的用法,参考笔记可以实现相关的练习即可,不必背会,在企业开发过程中边搜实现。 学习内容 了解python函数和模块文件操作:读文件&…

【python】使用py3-bencode打开torrent文件

没想到这个原始版本访问量超过了后继版本,估计有些流量是搜索引擎带来的,有些人并不会点击左边“我的随笔”去找新的版本。 现把后继版本地址贴一下:http://www.cnblogs.com/xiandedanteng/p/9014251.html 后继版本的解析效果:http://www.cnblogs.com/xiandedanteng/p/9016…

PCManFTP v2.0漏洞分析

软件简介 PCMans FTP Server是洪任谕程序员所研发的一套FTP服务器软件。该软件具有体积小、功能简单等特点。 漏洞成因 PCMan FTP Server的2.0.7版在WindowsXP下的远程溢出漏洞,此软件由于未能有效处理FTP命令的字符长度,进而引发栈溢出漏洞,…

matlab根轨迹法串联超前校正,4.7基于根轨迹法的串联超前校正.ppt

4.7基于根轨迹法的串联超前校正.ppt * * 4.7 基于根轨迹法的串联超前校正 系统的动态指标设计要求 在根轨迹上标定闭环极点的位置 求出闭环极点处相应的参数 值 求出开环放大倍数 根据闭环极点及零点的位置 分析系统的各项动态指标 利用MATLAB作出闭环系统的单位阶跃响应 得出准…