用途:在 Java/JVM 8+ 或 Android 5.0+(API 21+)项目中发起 HTTP/HTTPS 请求、构建 REST API 客户端,并处理连接复用、缓存、拦截器与 TLS 配置。
主要能力:内置 HTTP/2、连接池、透明 GZIP、响应缓存;支持应用层与网络层拦截器、重定向与重试、认证挑战、Fast Fallback(Happy Eyeballs,RFC 6555)、TLS 1.3、ALPN、证书固定、EventListener 指标采集、MockWebServer 测试、GraalVM Native Image 与 Java 9 模块(5.2+)。5.x 新增 Kotlin Multiplatform、MockWebServer 3(坐标 mockwebserver3)、虚拟线程支持、拦截器可覆盖 OkHttpClient.Builder 设置(5.4)、Call tags(5.3)、okhttp-zstd(5.2)、QUERY 方法(5.2)等。
使用方式:Gradle 引入 BOM 与 okhttp、logging-interceptor;Maven 项目必须使用 okhttp-jvm(okhttp 坐标在 Maven 下为空)。配置 OkHttpClient.Builder(超时、连接池、缓存、拦截器、TLS),构建 Request,用 execute() 同步或 enqueue() 异步执行,处理 Response 状态与响应体。示例:OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder().url("https://api.example.com/users").build();
适用场景:REST 客户端、缓存与拦截器链路、TLS 与证书固定、性能监控、HTTP 客户端测试。
限制:不允许带 body 的 GET(应使用 POST);Cache 非接口,自定义缓存需用拦截器;严格遵循 RFC,不接受高度无效请求;Android < 5.0 或 Java < 8 需用 OkHttp 3.12.x。KMP 的 Maven 项目须用 okhttp-jvm;依赖 Okio 与 Kotlin stdlib;证书固定需服务端 TLS 协同。价格与收费信息暂未提供。