OkHttp
HTTP是现代应用网络的方式。这就是我们交换数据和媒体的方式。有效地执行HTTP可以加快您的负载并节省带宽。
OkHttp是一个默认有效的HTTP客户端:
- HTTP / 2支持允许对同一主机的所有请求共享套接字。
- 连接池减少了请求延迟(如果HTTP / 2不可用)。
- 透明GZIP缩小了下载大小。
- 响应缓存可以完全避免网络重复请求。
当网络很麻烦时,OkHttp坚持不懈:它将从常见的连接问题中无声地恢复。
如果您的服务有多个IP地址,如果第一次连接失败,OkHttp将尝试备用地址。
这对于IPv4 + IPv6和冗余数据中心中托管的服务是必需的。
OkHttp支持现代TLS功能(TLS 1.3,ALPN,证书固定)。
它可以配置为回退以实现广泛的连接。
使用OkHttp很容易。它的请求/响应API采用流畅的构建器和不变性设计。它支持同步阻塞调用和带回调的异步调用。
Get a URL
1 | OkHttpClient client = new OkHttpClient(); |
Post to a Server
1 | public static final MediaType JSON |
Requirements(要求)
OkHttp适用于Android 5.0+(API级别21+)和Java 8+。
OkHttp对Okio有一个库依赖,这是一个用于高性能I / O的小型库。
我们强烈建议您保持OkHttp最新。
与自动更新Web浏览器一样,与HTTPS客户端保持同步是防止潜在安全问题的重要防御。
我们跟踪动态TLS生态系统并调整OkHttp以改善连接性和安全性。
OkHttp使用您平台的内置TLS实现。
在Java平台上,OkHttp还支持Conscrypt,它将BoringSSL与Java集成在一起。
如果它是第一个安全提供者,OkHttp将使用Conscrypt:
1 | Security.insertProviderAt(Conscrypt.newProvider(), 1); |