PySe-018-Requests 解决响应乱码
响应 解决 乱码 requests 018
2023-09-11 14:18:59 时间
因网站实现不同,通常响应数据的编码会存在差异,导致在使用 requests 访问网站或接口获取响应结果时,获取的响应结果显示乱码,如下所示:
请求发出后,Requests 会基于 HTTP 头部对响应的编码作出有根据的推测,并使用其推测的文本编码 r.encoding 自动解码来自服务器的内容,因而大多数 unicode 字符集都能被无缝地解码。当编码格式与当前编码格式不一致时,包含显示的中文响应内容就会存在乱码,如上图中所示。
import sys # 获取系统默认编码 print(sys.getdefaultencoding()) # 查看 requests 响应编码 r.encoding
因二者编码格式不一致,所以输出的响应内容中文显示会存在乱码,通过 r.encoding = ‘utf-8’ 修改响应编码格式,即可正常显示中文。修改后的编码如下图所示:
# encoding:utf-8 import requests import urllib3 import sys urllib3.disable_warnings() def baidu(): r = requests.get('https://www.baidu.com', verify=False) print('系统默认编码:' + sys.getdefaultencoding()) print('请求响应编码:' + r.encoding) r.encoding = 'utf-8' print('修改后的编码:' + r.encoding) print('\n\n') print(r.text) if __name__ == '__main__': baidu()
执行结果如下图所示:
相关文章
- 使用 ASP.NET Core MVC 创建 Web API——响应数据的内容协商(七)
- 解决jmeter返回响应乱码
- Delphi TListview自绘某列添加图片按钮并实现点击事件响应
- python中flask_restful响应处理(marshal、marshal_with、fields、reqparse、representation)
- 辅导视频 SS2023 HW2:LTI系统响应
- 辉光数码管的驱动与响应时间
- Linux【IO】6. Redis响应严重延迟,如何解决?
- go net/http 【3】设置 http response 响应头详解
- 《高性能响应式Web开发实战》一1.1 为什么需要响应式设计
- HTTP服务响应数据不完整响应数据截断解决方法
- 响应式编程总结
- Java学习-055-Jsoup爬虫通过设置获取响应数据大小的最大值,解决因默认获取 1MB 响应数据导致的无法获取全部的响应数据内容问题
- servlet 服务器HTTP响应头设置示例(response用法)
- 8Web网站模板-汽车官网产品介绍响应式网站模板(HTML+CSS+JavaScript)
- 浅析如何保证vuex中的state动态添加属性的响应式及解决deep watch / computed监听vuex state对象属性变化不生效的问题
- 设置 -webkit-app-region 后无法响应鼠标点击事件的解决方式
- 性能测试知多少---响应时间