OkHttp 是一个高效的 HTTP 客户端,用于构建网络请求。以下是基于 Android 平台的 OkHttp 官方文档概览。
特性
- 同步/异步请求:OkHttp 支持同步和异步请求。
- 连接池:复用底层的 TCP 连接。
- 请求/响应拦截器:拦截请求和响应。
- 灵活的调用:支持多种请求方法,如 GET、POST、PUT、DELETE 等。
快速开始
要开始使用 OkHttp,首先需要在你的项目中添加依赖:
dependencies {
implementation 'com.squareup.okhttp3:okhttp:<版本号>'
}
然后,你可以创建一个 OkHttpClient
实例:
OkHttpClient client = new OkHttpClient();
使用客户端发送 GET 请求:
Request request = new Request.Builder()
.url("http://www.example.com/Android_OkHttp")
.build();
client.newCall(request).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
// 处理错误
}
@Override
public void onResponse(Call call, Response response) throws IOException {
// 处理响应
}
});
高级功能
- 拦截器:自定义拦截器来处理请求和响应。
- 重定向策略:自定义重定向策略。
- 缓存:使用缓存来提高性能。
更多高级功能,请参考官方文档:Android OkHttp 官方文档
示例
以下是一个使用 OkHttp 发送 POST 请求的示例:
RequestBody body = new FormBody.Builder()
.add("key1", "value1")
.add("key2", "value2")
.build();
Request request = new Request.Builder()
.url("http://www.example.com/post")
.post(body)
.build();
client.newCall(request).enqueue(new Callback() {
// 处理响应
});
OkHttp Logo
更多示例,请访问 OkHttp 示例 页面。