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 示例 页面。