当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响应返回部分的方法和属性内容大概就这么多把