Skip to content

OkHttp 1/3/4 ​

🟢 最流行的 Android HTTP 客户端,r0capture 通杀所有版本。

各版本 ​

版本包名特征
OkHttp 1com.squareup.okhttp老版本
OkHttp 3okhttp3主流
OkHttp 4okhttp3(Kotlin 重写)当前主流

为什么通杀 ​

OkHttp 底层用 Java 的 SSLSocket,最终走到系统的 SSLOutputStream/SSLInputStream(Conscrypt)→ Native SSL_write/SSL_read。r0capture 在 Native 层 hook,所有版本一视同仁。

调用栈特征 ​

OkHttp 的栈很有辨识度,多层拦截器链:

at okhttp3.internal.connection.RealCall.callServer(RealCall.kt)
at okhttp3.internal.connection.RealCall.execute(RealCall.kt)
at com.app.api.ApiService.post(ApiService.java:42)
...

看到 okhttp3.internal.* 即可确认是 OkHttp。

User-Agent 特征 ​

OkHttp 默认 User-Agent: okhttp/4.x.x(除非 App 覆盖)。

HTTP/2 协商 ​

OkHttp 默认协商 HTTP/2(h2 over TLS)。若服务端支持 h2,r0capture 抓到的是 HTTP/2 帧(详见 HTTP/2 限制);若协商降级到 HTTP/1.1,则抓到标准 HTTP 文本。

相关文档 ​

基于 VitePress 构建 · 教学用途