49文章网www.wz49.cn提供了丰富的唯美、励志、伤感、正能量等经典文章.如果你需要找名人名言、诗词名句、好词好句等,相信在这里能够找到想要的。

OkHttp - 轻量的 Java 网络请求框架

分类:站长新闻浏览量:500发布于:4年前 作者:句子迷

OkHttp:是一个 Java 的 HTTP+SPDY 客户端开发包,同时也支持 Android。

请参阅项目网站以获取文档和API。

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

OkHttp是默认情况下有效的HTTP客户端:

  • HTTP / 2支持允许对同一主机的所有请求共享一个套接字。
  • 连接池可减少请求延迟(如果HTTP / 2不可用)。
  • 透明的GZIP缩小了下载大小。
  • 响应缓存可以完全避免网络重复请求。

当网络出现问题时,OkHttp会坚持不懈:它将从常见的连接问题中静默恢复。如果您的服务具有多个IP地址,则在第一次连接失败时,OkHttp将尝试使用备用地址。这对于IPv4 + IPv6和冗余数据中心中托管的服务是必需的。OkHttp支持现代TLS功能(TLS 1.3,ALPN,证书固定)。可以将其配置为回退以获得广泛的连接性。

使用OkHttp很容易。它的请求/响应API具有流畅的构建器和不变性。它支持同步阻塞调用和带有回调的异步调用。

获取网址

该程序下载URL,并将其内容打印为字符串。全文。

OkHttpClient客户端=新的OkHttpClient();字符串运行(字符串url)抛出IOException{请求请求=新请求。建造者().url(URL)。建立();尝试(响应响应=客户端。新呼叫(请求)。执行()){返回响应。body()。串();}}

发布到服务器

该程序将数据发布到服务。全文。

公共静态最终MediaTypeJSON=MediaType。get(“application / json; charset = utf-8”);OkHttpClient客户端=新的OkHttpClient();字符串发布(字符串url,字符串json)抛出IOException{RequestBodybody=RequestBody。create(json,JSON);请求请求=新请求。建造者().url(URL).post(body)。建立();尝试(响应响应=客户端。新呼叫(请求)。执行()){返回响应。body()。串();}}

更多示例在OkHttp食谱页面上。

要求

OkHttp可在Android 5.0+(API级别21+)和Java 8+上运行。

OkHttp取决于奥基奥用于高性能I / O和科特林标准库。两者都是具有强大的向后兼容性的小型库。

我们强烈建议您保持OkHttp为最新。与自动更新Web浏览器一样,保持HTTPS客户端的最新状态是防范潜在安全问题的重要防御措施。我们跟踪动态TLS生态系统并调整OkHttp以改善连接性和安全性。

OkHttp使用平台的内置TLS实现。在Java平台上,OkHttp还支持 Conscrypt,后者将BoringSSL与Java集成在一起。如果OkHttp是第一个安全提供程序,它将使用Conscrypt:

安全性。insertProviderAt(Conscrypt。newProvider(),1);

OkHttp 3.12.x分支支持Android 2.3+(API级别9+)和Java 7+。这些平台不支持TLS 1.2,因此不应使用。但是由于升级困难,我们将在2021年12月31日之前将重要补丁程序移植到3.12.x分支中。

发布

我们的更改日志具有发布历史记录。

最新版本在Maven Central上可用。

实施(“com.squareup.okhttp3:okhttp:4.7.2”)

快照版本可用。R8和ProGuard规则可用。

MockWebServer

OkHttp包含用于测试HTTP,HTTPS和HTTP / 2客户端的库。

最新版本在Maven Central上可用。

testImplementation(“com.squareup.okhttp3:mockwebserver:4.7.2”)

执照

Copyright 2019 Square, Inc.Licensed under the Apache License, Version 2.0 (the "License");you may not use this file except in compliance with the License.You may obtain a copy of the License athttp://www.apache.org/licenses/LICENSE-2.0Unless required by applicable law or agreed to in writing, softwaredistributed under the License is distributed on an "AS IS" BASIS,WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.See the License for the specific language governing permissions andlimitations under the License.

阅读本文的人,还看了