okhttp的简单介绍,OkHttp是什么,为什么要用OkHttp

2023-07-20 8:02:18 体育资讯 admin

OkHttp的使用总结

1、Callback在子线程中回调,大部分时候,我们都是需要更新UI的,还需自己post到主线程中处理。 构建请求步骤比较多 因此,Square提供了针对OkHttp的封装库Retrofit,另外Github上也有很多第三方的封装库,比如OkGo。

OkHttp是什么,为什么要用OkHttp

1、OkHttp中通过建造者模式来构建OkHttpClient、Request和Response。对于客户端来讲,我们不需要过多关注Response是如何构建的,因为这个是OkHttp对响应结果进行了封装处理。我们只关注请求Request和客户端OkHttpClient如何构建即可。

2、OkHttp 性能*。 这是因为每个OkHttpClient都拥有自己的连接池和线程池,重用连接和线程可减少延迟并节省内存。 相反,为每个请求创建一个客户端会浪费空闲池上的资源。

3、okhttp是square公司贡献的一个处理网络请求的开源框架,是目前Android开发使用最广泛的一个网络框架,从Android4开始,httpURLconnection的底层实现采用的就是okhttp。内部实现就是利用java基础,对socket进行封装,实现http通信。

4、但是okhttp实现了连接池的概念,即对于同一主机的多个请求,其实可以共用一个socket连接,而不是每次发送完HTTP请求就关闭底层socket,这样就实现了连接池的概念,而okhttp对于socket的读写操作使用的OKIO库进行的一层封装。

5、接下来就可以愉快的开始使用OKhttp进行开发了。OKhttpclient通过builder构建,构建的时候涉及到很多配置项,本次简单对其中一些配置项做了说明,后续会对一些重要的配置项做专题说明。

6、总结:Transmitter是在创建RealCall的时候被创建的,其中需要了OkHttpClient和当前请求Call作为参数。所以我们知道了,一个请求对应着一个Transmitter。

三、深入理解OkHttp:连接处理-ConnectIntercepter

在本篇文章中,我们将以ConnectIntercepter为起点,跟随网络连接获取的过程,深入探究其中涉及到的:连接查找、连接复用,网络连接的建立(三次握手、Http2协议等的处理)。

OkHttp中通过建造者模式来构建OkHttpClient、Request和Response。对于客户端来讲,我们不需要过多关注Response是如何构建的,因为这个是OkHttp对响应结果进行了封装处理。我们只关注请求Request和客户端OkHttpClient如何构建即可。

缓存拦截器顾名思义处理缓存的,但是要建立在get请求的基础上,我们可以去通过okHttpClient.cache(cache)去设置。

OKHTTP解析之责任链模式

1、首先我们先来了解一下责任链模式,这是我们理解拦截器实现原理的前提。

2、责任链模式:有一条链子,链子上有多个节点,每个节点都有成功或失败两个结果,这样做的好处是,我们在访问服务器的时候,可以在里边进行过滤,拦截无效请求。重试拦截器、桥拦截器、缓存拦截器、连接拦截器、网络拦截器、。。

3、okHttp 默认有5个拦截器,重试重定向拦截器,桥接拦截器,缓存拦截器,连接拦截器,请求服务拦截器。工作细节参考上面拦截器原理分析部分 位置的关系,应用拦截器 放在责任链最顶端,网络拦截器放在责任链倒数第二的位置。

4、两种方式最终都是调用构造函数OkHttpClient(builder:Builder),由参数builder负责所有的参数配置工作。当您创建单个OkHttpClient实例并将其用于所有 HTTP 调用时,OkHttp 性能*。

5、也是okhttp网络请求责任链的核心模块。

6、接着看重定向 重定向总结 另附HTTP响应状态码分类:小结: RetryAndFollowUpInterceptor是整个责任链中的第一个,*接触到Request和最后接收Response的角色,它的主要功能是判断是否需要重试与重定向。

Android网络请求库【OkHttp4.9.3】基本用法与原理分析

1、也是okhttp网络请求责任链的核心模块。

2、利用建造者模式构建okHttpClient实例对象,构建过程中可以动态配置参数,请求时间,响应时间,缓存信息等。 创建Request对象,设置请求方式,链接地址,参数等信息。

3、OkHttp作为当前Android端最火热的网络请求框架,必然有很多的优点。对于客户端来讲,我们关注的就是把正确的请求发送到服务端并拿到结果来进行处理。

4、OKHTTP可以配置x509trustManager,设置TLS信任证书:这块有一个坑,就是必须先要接受系统的证书,然后接受本地证书。否则访问一些链接会出现异常。

重识OkHttp——更深入了解如何使用

1、总结:Transmitter是在创建RealCall的时候被创建的,其中需要了OkHttpClient和当前请求Call作为参数。所以我们知道了,一个请求对应着一个Transmitter。

2、基本流程都是先创建一个OkHttpClient对象,然后通过Request.Builder()创建一个Request对象,OkHttpClient对象调用newCall()并传入Request对象就能Call对象。

3、官网地址: https://square.github.io/okhttp/ 想要详细了解HTTP/2,可以参考: https:// 接下来就可以愉快的开始使用OKhttp进行开发了。

4、第一步:创建OkHttpClient,创建OkHttpClient有两种方式:OkHttpClient提供了丰富的配置方法,例如添加拦截器、指定连接池、设置请求超时等等。

5、下载 OkHttp 介绍了这么多理论知识,接下来就进入实战阶段了,首先下载 OkHttp 的 jar 包,可以去 GitHub 下载最近的包。

免责声明
           本站所有信息均来自互联网搜集
1.与产品相关信息的真实性准确性均由发布单位及个人负责,
2.拒绝任何人以任何形式在本站发表与中华人民共和国法律相抵触的言论
3.请大家仔细辨认!并不代表本站观点,本站对此不承担任何相关法律责任!
4.如果发现本网站有任何文章侵犯你的权益,请立刻联系本站站长[QQ:775191930],通知给予删除
请先 登录 再评论,若不是会员请先 注册