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. argparse模块基本用法

    argparse模块基本用法 在 python 编写的程序中,我们经常会看到的 argparse 相关代码,而它究竟怎么使用呢?接招! argparse 是一个命令行参数解析模块 现在提出需求,我需要 ...

  2. 不想用Spring全家桶?试试这个国产JFinal框架

    前言 逃离北上广从广州回老家南宁,入职这家公司用的技术是JFinal,借此机会得以学习这个国产的MVC框架,经过一段时间的学习,基于之前的经验搭建一个通用项目jfinal-demo jfinal-de ...

  3. Java预科:DOS命令及电脑快捷键

    Java预科:DOS命令及电脑快捷键 1.快捷键 常用快捷键 a/t +f4关闭窗口 cmd窗口打开快捷方式 1.开始+系统+命令提示符 2.win+r 输入cmd 3.在任意文件夹下面,按住shif ...

  4. 【问题记录】- 谷歌浏览器 Html生成PDF

    起因: 由于项目需要实现将网页静默打印效果,那么直接使用浏览器打印功能无法达到静默打印效果. 浏览器打印都会弹出预览界面(如下图),无法达到静默打印. 解决方案: 谷歌浏览器提供了将html直接打印成 ...

  5. TypeScript学习笔记(一)环境搭建和数据类型

    目录 一.学习TypeScript的缘由 二.学习环境的搭建 1. TypeScript的编译环境 2. vscode自动编译的配置 三.TypeScript中的数据类型 1. 简单变量的定义和初始化 ...

  6. Java进阶 | 从整体上观察面向对象

    一.面向对象 面向对象是Java编程中最核心的思想,基本特征:继承.封装.多态. 1.特征之封装 将结构.数据.操作封装在对象实体中,使用时可以不关注对象内部结构,只能访问开放权限的功能入口,从而降低 ...

  7. 一个故事看懂HTTPS

    我是一个浏览器,每到夜深人静的时候,主人就打开我开始学习. 为了不让别人看到浏览记录,主人选择了"无痕模式". 但网络中总是有很多坏人,他们通过抓包截获我和服务器的通信,主人干了什 ...

  8. gRPC学习之二:GO的gRPC开发环境准备

    欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos gRPC学习系列文章链接 在CentOS7部署和设置G ...

  9. 数据结构与算法-排序(七)希尔排序(Shell Sort)

    摘要 看希尔排序需要先想象出一个二维的矩阵,在这个矩阵中,有多少列数据全看步长(一定的规则得到).处理完之后,就再接着用另一个步长组成矩阵处理.直到步长全部使用完. 这里的巧妙之处就是没有把序列先处理 ...

  10. JavaWeb——CSS总结

    CSS 记得大一下学期那会参加基地后就开始跟师兄师姐接触前端了,利用业余时间在站看各种视频.由于初次认知并且时间也能不固定集中,也存在跳跃式学习等等原因,这就导致了好多知识点要么漏掉要么没记全,只能懂 ...