Okhttp拦截器

7 阅读1分钟

  有五大拦截器,分别是重试和重定向拦截器(RetryAndFollowUpInterceptor)、桥接拦截器(BridgeInterceptor)、缓存拦截器(CacheInterceptor)、连接拦截器(ConnectInterceptor)和请求服务器拦截器(CallServerInterceptor)。

  重试拦截器在执行到下一个拦截器之前,负责判断用户是否取消了请求;在获得结果之后,会根据响应码判断是否需要重定向,如果满足条件就会启动所有拦截器。

  桥接拦截器在执行到下一个拦截器之前,负责将HTTP协议必备的请求头进行加入,并进行一些默认操作,如GZIP压缩;在获得结果后,调用保存cookie接口并解析GZIP数据。

  缓存拦截器在执行到下一个拦截器之前,读取并判断是否使用缓存;获得结果后判断是否保存缓存。

  连接拦截器在执行到下一个拦截器之前,负责找到或创建一个连接,并获得对应的socket流;在获得结果后不进行额外的处理。

  请求服务器拦截器进行真正地与服务器通信,向服务器发送请求,解析读取到的响应数据。

参照:www.jianshu.com/p/240369516…