python request中的content和text的区别

一直不清楚requestes的content和text方法的区别,只知道content返回的是二进制数据,而text返回的是文本数据

先看看content的源码:

注释可知content返回的是bytes型也就是二进制的数据

在看看text的源码:

意思是requests.text是根据网页的响应来猜测编码,如果服务器不指定的话,默认编码是"ISO-8859-1"所以这是为什么有些时候用 response.text 返回的是乱码的原因。

可以用response.encoding看一下他猜测的编码是啥。然后用response.encoding = ‘utf-8‘来设置编码

实例如下:

1 import requests
2 response=requests.get(‘http://www.qq.com‘)
3 response.encoding
4 >>‘GB2312‘

1 >>> response.encoding="UTF-8"
2 >>> response.encoding
3 ‘UTF-8‘

总结:

content用来返回二进制数据,适用于保存二进制数据,例如图像,文件等
text适用于显示文本数据,编码根据服务器的响应来显示,也可以自己设置

原文地址:https://www.cnblogs.com/ganiner/p/9913062.html

时间: 2024-10-11 20:57:41

python request中的content和text的区别的相关文章

requests模块中返回的content和text的区别

test 类型:str 解码类型:根据HTTP头部响应的编码做出有根据的推测,推测的文本编码. 改变编码的方式:response.encoding=”gbk” 用途:response.text返回的是Unicode型数据:一般用来获取文本response.text: content 类型:bytes 解码类型:没有指定 修改编码的方式:response.content.decode(“utf8”) 用途:response.content返回的是bytes类型,也就是二进制数据:用来获取图片,文件

Jenkins中 readFile 与 File.text 的区别

Jenkins中 获取文件内容的方法有两种 一个是 调用readFile(), 另一个是 new 一个File 对象,再调用 File 对象的text或者getText()方法 具体的请参考下面的link: 1.readFile() https://jenkins.io/doc/pipeline/steps/workflow-basic-steps/#readfile-read-file-from-workspace 2.File.text/File.getText() http://docs.

request中获取post的json对象数据content-type=“text/plain”

其实采用http://www.cnblogs.com/SimonHu1993/p/7295750.html中的方法一都能获取到,就是通过获取request中的流数据,拿到json数据,理论上应该适用各种content-type的请求数据. /** *获取 request 中用POST方式"Content-type"是 * "text/plain"发送的 json数据 * @author: Simon * @date: 2017年8月6日 下午7:44:09 * @p

python requests的content和text方法的区别

转自"https://blog.csdn.net/xie_0723/article/details/51361006 一直在想requests的content和text属性的区别,从print 结果来看是没有任何区别的 看下源码: @property def text(self): """Content of the response, in unicode. If Response.encoding is None, encoding will be guesse

python语言中的编码问题(续)

上文提到了python开发中非常重要的两处设置. 一个是编解码器的默认设置defaultencoding >>> import sys >>> sys.getdefaultencoding()'ascii' 另一个是声明在python文件头部的代码编码方式coding # -*- coding: utf-8 -*- 这两处设置在python的str,unicode对象的encode和decode方法中,有非常重要的作用,直接影响到结果.下面的代码按照目前的设置进行,即d

Python程序中的进程操作-进程池(multiprocess.Pool)

Python程序中的进程操作-进程池(multiprocess.Pool) 一.进程池 为什么要有进程池?进程池的概念. 在程序实际处理问题过程中,忙时会有成千上万的任务需要被执行,闲时可能只有零星任务.那么在成千上万个任务需要被执行的时候,我们就需要去创建成千上万个进程么?首先,创建进程需要消耗时间,销毁进程也需要消耗时间.第二即便开启了成千上万的进程,操作系统也不能让他们同时执行,这样反而会影响程序的效率.因此我们不能无限制的根据任务开启或者结束进程.那么我们要怎么做呢? 在这里,要给大家介

在Python应用中使用MongoDB

Python是开发社区中用于许多不同类型应用的强大编程语言.很多人都知道它是可以处理几乎任何任务的灵活语言.因此,在Python应用中需要一个什么样的与语言本身一样灵活的数据库呢?那就是NoSQL,比如MongoDB. 英文原文:https://realpython.com/blog/python/introduction-to-mongodb-and-python 1.SQL vs NoSQL 如果你不是很熟悉NoSQL这个概念,MongoDB就是一个NoSQL数据库.近几年来它越来越受到整个

Python编程中常用的12种基础知识总结

原地址:http://blog.jobbole.com/48541/ Python编程中常用的12种基础知识总结:正则表达式替换,遍历目录方法,列表按列排序.去重,字典排序,字典.列表.字符串互转,时间对象操作,命令行参数解析(getopt),print 格式化输出,进制转换,Python调用系统命令或者脚本,Python 读写文件. 1.正则表达式替换目标: 将字符串line中的 overview.gif 替换成其他字符串 1 2 3 4 5 6 7 8 9 10 11 >>> lin

Python 编程中常用的 12 种基础知识总结

Python 编程中常用的 12 种基础知识总结:正则表达式替换,遍历目录方法,列表按列排序.去重,字典排序,字典.列表.字符串互转,时间对象操作,命令行参数解析(getopt),print 格式化输出,进制转换,Python调用系统命令或者脚本,Python 读写文件. 1.正则表达式替换 目标:将字符串line中的 overview.gif 替换成其他字符串 >>> line = '<IMG ALIGN="middle" SRC=\'#\'" /s