response类故名思议,它包含了服务器对http请求的响应。每次调用requests去请求之后,均会返回一个response对象,通过调用该对象,可以查看具体的响应信息。 示例如下:

import requests

r = requests.get('https://api.github.com/events', verify=False)
print(r.status_code)
print(r.content)

此时会打印出响应的状态码和内容。

我们可以根据自身的需求,获取响应中的各种信息,具体内容见下表:

属性或属性方法 解释
r.status_code 响应的http状态码,比如404和200
r.headers 响应头,可单独取出某个字段的值,比如(r.headers)['content-type']
r.raw 原始响应,表示urllib3.response.HTTPResponse对象。使用raw时,要求在请求时设置“stream=True”
r.url 请求的最终地址
r.encoding 要解码的r.text的编码方式
r.history 请求的历史记录,可以用于查看重定向信息,以列表形式展示,排序方式是从最旧到最新的请求
r.reason 响应状态的描述,比如 "Not Found" or "OK"
r.cookies 服务器发回的cookies,RequestsCookieJar类型
r.elapsed 从发送请求到响应到达之间经过的时间量,可以用于测试响应速度。比如r.elapsed.microseconds表示响应到达需要多少微秒
r.request PreparedRequest对象,可以用于查看发送请求时的信息,比如r.request.headers查看请求头
r.ok 检查”status_code“的值,如果小于400,则返回True,如果不小于400,则返回False 
r.is_redirect 判断是否重定向,返回True or False
r.is_permanent_redirect 判断是否永久重定向,返回True or False
r.next 返回重定向链中下一个请求的PreparedRequest对象
r.apparent_encoding 用chardet库判断出的编码方式
r.content 响应的内容,byte类型
r.text 响应的内容,unicode类型
r.links 响应的解析头链接

response类除了上述属性和属性方法外,还提供了一些其他方法。

  • 较为常用的r.json()方法,用于将响应解析成json格式。
  • 应对stream时的iter_content()iter_line()方法,避免响应内容过大占用大量内存。

参考资料

Python之requests模块-response的更多相关文章

  1. Python之requests模块-request api

    requests所有功能都能通过"requests/api.py"中的方法访问.它们分别是: requests.request(method, url, **kwargs) req ...

  2. Python之requests模块-hook

    requests提供了hook机制,让我们能够在请求得到响应之后去做一些自定义的操作,比如打印某些信息.修改响应内容等.具体用法见下面的例子: import requests # 钩子函数1 def ...

  3. Python爬虫之使用Fiddler+Postman+Python的requests模块爬取各国国旗

    介绍   本篇博客将会介绍一个Python爬虫,用来爬取各个国家的国旗,主要的目标是为了展示如何在Python的requests模块中使用POST方法来爬取网页内容.   为了知道POST方法所需要传 ...

  4. Python之requests模块-cookie

    cookie并不陌生,与session一样,能够让http请求前后保持状态.与session不同之处,在于cookie数据仅保存于客户端.requests也提供了相应到方法去处理cookie. 在py ...

  5. Python之requests模块-session

    http协议本身是无状态的,为了让请求之间保持状态,有了session和cookie机制.requests也提供了相应的方法去操纵它们. requests中的session对象能够让我们跨http请求 ...

  6. Python 使用 requests 模块发送请求的使用及封装

    一.requests 模块基本使用 1.准备接口的URL.请求参数.请求头 # 1. 构造注册.登录.充值请求的url register_url = "注册url" login_u ...

  7. 基于python第三方requests 模块的HTTP请求类

    使用requests模块构造的下载器,首先安装第三方库requests pip install requests 1 class StrongDownload(object): def __init_ ...

  8. Python使用requests模块访问HTTPS网站报错`certificate verify failed`

    使用requests模块访问HTTPS网站报错: SNIMissingWarning: An HTTPS request has been made, but the SNI (Subject Nam ...

  9. 使用Python的requests模块编写请求脚本

    requests模块可用来编写请求脚本. 比如,使用requests的post函数可以模拟post请求: resp = requests.post(url, data = content) url即为 ...

随机推荐

  1. mysql查看当前连接数

    show status like 'Threads%';   需要root权限才能看到所有的连接

  2. XSS闯关挑战(1-15)

    第一关 关键代码: 这一关两处的输出都没做任何防护,直接将用户的输入拼接到输出里面. payload: 第二关 使用上一关的payload显示如下 闭合一下标签就好了. 第三关 htmlspecial ...

  3. Solidity

    起因是Xenc师傅给我截了张图,我日 居然看不懂 ,一搜才知道,之前学的版本有些老了.. 这次学下新一点的记录下 HelloWorld pragma solidity ^0.6.0; // versi ...

  4. 实战爬取拷背漫画-Python

    ​  一.抓包获取链接 以爬取<前科者>为例 获取搜索链接 https://api.copymanga.com/api/v3/search/comic?limit=5&q=前科者 ...

  5. 用expect做自动运行脚本

    下面的脚本演示了在Ubuntu上安装expect,写一个切换用户的expect脚本,并运行脚本看到效果的过程. root@guserver:~# apt-get install expect godu ...

  6. 毕业设计java实验室预约管理系统SSH机房预约系统javaweb机房实验室排课系统mysql机房管理系统 实验室管理系统 课程设计 代码讲解 调试运行

    毕业设计java实验室预约管理系统SSH机房预约系统javaweb机房实验室排课系统mysql机房管理系统 实验室管理系统 课程设计 代码讲解 调试运行 注意:该项目只展示部分功能,如需了解,评论区咨 ...

  7. CleanArchitecture Application代码生成插件-让程序员告别CURD Ctrl+C Ctrl+V

    这是一个根据Domain项目中定义的实体对象(Entity)生成符合Clean Architecture原则的Application项目所需要的功能代码,包括常用的Commands,Queries,V ...

  8. 某次无中生有的getshell过程

    0x01 写在前面 某次对目标的渗透中,发现了疑似前台上传漏洞,反复测试后无法成功利用,多方探寻最终成功getshell的过程. 0x02 信息收集 这次的目标是一个APP分发平台,对这一类的网站接触 ...

  9. idea的properties文件乱码问题解决

    设置编码格式: File============>Settings,打开设置后,设置成下面的即可解决:

  10. spring cloud 网管篇zuul

    1, consul 2, zuul 程序的yml 文件 server: port: 8083spring: application: name: zuulInfo # 应用名称 cloud: cons ...