Python之requests模块-response

xwbar的头像
2025-07-07 04:57:35
/
世界杯比赛赛程

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()方法,避免响应内容过大占用大量内存。

参考资料

https://github.com/psf/requests/blob/master/requests/models.py

教程丨坐在上面应该怎么动
UMTS - 一种新网络