OKHttp中的拦截器Interceptor

一:简介

Interceptor接口:观察,修改并潜在地将请求发出的短路和相应的短路响应返回。通常,拦截器添加,删除或转换请求中的标头

 或响应。主要方法:Response intercept(Chain chain) throws IOException,此方法中的参数Chain接口也是在Interceptor中定义的。

实现类:

1. RetryAndFollowUpInterceptor:主要用于从故障中恢复或者执行重定向。(失败重连).   

              • 建立StreamAllocation对象,
              • 调用Chain的proceed方法发起请求
              • 根据异常结果或者请求结果,判断是否要重新请求
              • 调用下一个拦截器对Response进行处理

2. BridgeInterceptor:从应用程序代码到网络代码的桥梁。 首先它从用户请求建立一个网络请求。 然后继续呼叫网络。 最后,它从网络响应中建立用户响应。设置内容长度,编码,压缩等等

  • 负责将用户构建的Request转化为能够进行网络访问的请求
  • 将这个Request进行网络请求
  • 将网络请求的响应转化为用户可用的Response

3.CacheInterceptor:提供来自缓存的请求并将响应写入缓存

猜你喜欢

转载自blog.csdn.net/cdc_csdn/article/details/80687845