leftso 608 0 2019-01-08 16:11:13

文章位置:左搜> 编程技术> 正文

一、okhttp 简介

HTTP是现代应用网络的方式。这就是我们交换数据和媒体的方式。有效地执行HTTP可以加快您的负载并节省带宽。

OkHttp是一个默认有效的HTTP客户端:

HTTP / 2支持允许对同一主机的所有请求共享套接字。
连接池减少了请求延迟(如果HTTP / 2不可用)。
透明GZIP缩小了下载大小。
响应缓存完全避免网络重复请求。
当网络很麻烦时,OkHttp坚持不懈:它将从常见的连接问题中无声地恢复。如果您的服务有多个IP地址,如果第一次连接失败,OkHttp将尝试备用地址。这对于IPv4 + IPv6和冗余数据中心中托管的服务是必需的。 OkHttp支持现代TLS功能(TLS 1.3,ALPN,证书固定)。它可以配置为回退以实现广泛的连接。

使用OkHttp很简单。它的请求/响应API采用流畅的构建器和不变性设计。它支持同步阻塞调用和带回调的异步调用。

OkHttp支持Android 5.0+(API级别21+)和Java 8+。

二、okhttp 依赖引入

以下为maven引入方式
<!-- https://mvnrepository.com/artifact/com.squareup.okhttp3/okhttp -->
<dependency>
    <groupId>com.squareup.okhttp3</groupId>
    <artifactId>okhttp</artifactId>
    <version>3.12.1</version>
</dependency>
以下是GRADLE引入
implementation 'com.squareup.okhttp3:okhttp:(insert latest version)'

三、okhttp 使用例子详解

3.1 okhttp获取一个http请求,并输出响应结果

OkHttpClient client = new OkHttpClient();

String run(String url) throws IOException {
  Request request = new Request.Builder()
      .url(url)
      .build();

  try (Response response = client.newCall(request).execute()) {
    return response.body().string();
  }
}

3.2 okhttp发起数据请求

public static final MediaType JSON
    = MediaType.get("application/json; charset=utf-8");

OkHttpClient client = new OkHttpClient();

String post(String url, String json) throws IOException {
  RequestBody body = RequestBody.create(JSON, json);
  Request request = new Request.Builder()
      .url(url)
      .post(body)
      .build();
  try (Response response = client.newCall(request).execute()) {
    return response.body().string();
  }
}

 
编程技术 okhttp java

评论区域

暂无评论,快来抢首发吧!!!