时间:2021-05-19
OkHttp 包的设计和实现的首要目标是高效。这也是选择 OkHttp 的重要理由之一。OkHttp 提供了对最新的 HTTP 协议版本 HTTP/2 和 SPDY 的支持,这使得对同一个主机发出的所有请求都可以共享相同的套接字连接。如果 HTTP/2 和 SPDY 不可用,OkHttp 会使用连接池来复用连接以提高效率。OkHttp 提供了对 GZIP 的默认支持来降低传输内容的大小。OkHttp 也提供了对 HTTP 响应的缓存机制,可以避免不必要的网络请求。当网络出现问题时,OkHttp 会自动重试一个主机的多个 IP 地址。
(OkHttp的GitHub主页:https://github.com/square/okhttp)
HTTP 客户端所要执行的任务很简单,接受 HTTP 请求并返回响应。每个 HTTP 请求包括 URL,HTTP 方法(如 GET 或 POST),HTTP 头和请求的主体内容等。HTTP 请求的响应则包含状态代码(如 200 或 500),HTTP 头和响应的主体内容等。虽然请求和响应的交互模式很简单,但在实现中仍然有很多细节要考虑。OkHttp 会对收到的请求进行一定的处理,比如增加额外的 HTTP 头。同样的,OkHttp 也可能在返回响应之前对响应做一些处理。例如,OkHttp 可以启用 GZIP 支持。在发送实际的请求时,OkHttp 会加上 HTTP 头 Accept-Encoding。在接收到服务器的响应之后,OkHttp 会先做解压缩处理,再把结果返回。如果 HTTP 响应的状态代码是重定向相关的,OkHttp 会自动重定向到指定的 URL 来进一步处理。OkHttp 也会处理用户认证相关的响应。
如何使用
1.gradle
2.Initial
建议只要new一个实体做全部的操作就行了
3.GET
OkHttp 使用调用(Call)来对发送 HTTP 请求和获取响应的过程进行抽象。下面代码中给出了使用 OkHttp 发送 HTTP 请求的基本示例。首先创建一个 OkHttpClient 类的对象,该对象是使用 OkHttp 的入口。接着要创建的是表示 HTTP 请求的 Request 对象。通过 Request.Builder 这个构建帮助类可以快速的创建出 Request 对象。这里指定了 Request 的 url 为 http://") .build(); Response response = client.newCall(request).execute(); if (!response.isSuccessful()) { throw new IOException("服务器端错误: " + response); } Headers responseHeaders = response.headers(); for (int i = 0; i < responseHeaders.size(); i++) { System.out.println(responseHeaders.name(i) + ": " + responseHeaders.value(i)); } System.out.println(response.body().string()); }}
4.POST
有了上面GET的基础,我们直接顺便来看POST:
5.Send
把上面build出来的Request带进来
Response response = client.newCall(request).execute();//如果response回传是null, 就代表timeout或没有网络
或是你想使用Callback...声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
Android分享功能的实现Android程序里面的分享功能分为第三方程序分享,就是使用QQ空间,QQ微博,新浪微博,人人等第三方包进行分享;还有就是用本地程序
VUE引入第三方js包及调用方法1、首先是第三方js包存放的位置一定要放在static目录下否则引用不到2、网上查找到的引用第三方包的四种方式实测部分第三方js
我们知道在iOS8系统中,可以支持使用第三方输入法,而使用第三方输入法之前,需要开启第三方键盘。下面就来演示下iOS8开启第三方键盘的操作步骤。 第一步,
不废话直接上教程1.建立项目ngnewprojectname2.创建第三方库项目创建完毕,依赖安装完毕后#libraryname:第三方包名字#prefix:组
(1)首先我们编辑assembly.xml配置文件,在前文的基础上新增第三方依赖设置(高亮部分),实现将第三方的jar包添加到压缩包里的lib目录:binzip