okhttp版本: 4.12.0
okhttp的目录结构如下:
| 子目录名 | 简要说明 |
|---|---|
| android-test | 可以在设备或模拟器上运行的一些Android测试用例 |
| docs | 一个文档集合,里面包含api相关、项目架构相关等文档 |
| fuzzing | fuzzing测试相关 |
| grade | 构建工具 |
| mockwebserver | 一个mock服务器,模拟一个服务器,以测试http客户端 |
| okcurl | 一些测试指令(没运行成功,但这不是重点,先略过) |
| okhttp | http客户端,okhttp的核心部分,后续的主要阅读部分 |
| okhttp-bom | gradle的BOM特性,使得子模块可以在项目间分享版本 |
| okhttp-brotil | Brotil压缩算法实现模块 |
| okhttp-dnsoverhttps | DNS over HTTPS实现模块,该模块还处于实验性质,API不稳定,后面可能会修改 |
| okhttp-hpacktests | 验证okhttp hpack的一些测试 |
| okhttp-logging-interceptor | 用于输出请求和响应日志的拦截器 |
| okhttp-sse | 支持服务端的发送事件监听,该模块还处于实验性质,API不稳定,后面可能会修改 |
| okhttp-testing-support | okhttp内部使用的测试 |
| okhttp-tls | 提供一些好用的api以使用tls功能 |
| okhttp-urlconnection | 从java.net中集成了Authenticator和CookieHandler,主要用于测试 |
| samples | 一些使用示例 |
由上可以看出,okhttp模块是一些核心代码,是我们阅读的重点,并且可以通过sample模块作为切入口,带着目的去阅读该项目。