第4章 重试与重定向拦截器:RetryAndFollowUpInterceptor 原理、自定义重试逻辑、最大重试次数控制
4.1 核心原理
RetryAndFollowUpInterceptor 是 OkHttp 内部拦截器链中的关键一环,位于 BridgeInterceptor 之后、ConnectInterceptor 之前。它的职责非常明确:当网络连接因 IOException 失败时自动执行重试,当服务器返回 3xx 状态码时自动跟踪重定向。该拦截器将所有重试和重定向操作合并到一个循环中,并统一计入同一个最大次数计数器。
| 特性 | 触发条件 | 默认行为 | 自定义方式 |
|---|---|---|---|
| 连接重试 | IOException(DNS解析失败、连接超时、Socket异常等) | 自动重试(最多20次限制) | 关闭 retryOnConnectionFailure(false) |
| 请求重定向 | 响应状态码 3xx(301、302、307、308等) | 自动跟踪(最多20次限制) | 关闭 followRedirects(false) |
| SSL 重定向 | ← 上一章 📖 返回目录 下一章 → |