当requests发送请求成功后,requests就会得到返回值,如果服务器响应正常,就会接收到响应数据;
Response响应中的属性和方法
常用属性:
- status_code:
数据类型:int
作用:返回HTTP响应的状态码:200、404、500、等
- reason:
数据类型:str
作用:返回HTTP响应的描述:OK、Not Found、等
- headers:
数据类型:字典
作用:返回HTTP响应头
- url:
数据类型:str
作用:请求的真实地址
- history:
数据类型:列表(数组)
作用:访问历史记录(重定向记录)
- encoding
数据类型:str
作用:HTTP响应头中的编码字段,response.text 取反回值时,就是根据这个字段进行解码的,如果没有,则按:"ISO-8859-1"解码
- cookies
数据类型:RequestsCookieJar
作用:获取cookie
- elapsed
类型:datetime.timedelta
作用:发送请求到接收到响应所花费的时长
- request
类型:requests.models.PreparedRequest
作用:对应的请求对象
- raw
作用:原始响应体,也就是 urllib 的 HTTPResponse 对象,使用 response.raw.read() 读取
常用方法
@property类型方法:
- ok(self):状态码是否小于400,返回值为True或False
- apparent_encoding(self):根据返回内容, 解析出来的字符编码
- content(self):原始响应体
- text(self):经过编码后的文本内容
普通方法:
- json(self, **kwargs):转换成json格式的数据
- iter_content(self, chunk_size=1, decode_unicode=False):按字节分块的迭代器
- iter_lines(self, chunk_size=ITER_CHUNK_SIZE, decode_unicode=None, delimiter=None):按行分块的迭代器
- raise_for_status(self):抛出状态异常错误
- close(self):关闭连接(迭代器获取数据时,其实就是建立了长链接)
requests响应返回部分的方法和属性内容大概就这么多把