首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏技术博客文章

    OkHttp

    上述代码就是代理与DNS在OkHttp中的使用,但是还有一点需要注意,Http代理也分成两种类型:普通代理与隧 道代理。 代理,这时候 connectTunnel 中会发起: CONNECT xxxx HTTP/1.1 Host: xxxx Proxy-Connection: Keep-Alive User-Agent: okhttp

    1K20编辑于 2021-12-15
  • 来自专栏韩曙亮的移动开发专栏

    OkHttpOkHttp 简介 ( OkHttp 框架特性 | Http 版本简介 )

    OkHttp 系列文章目录 【OkHttpOkHttp 简介 ( OkHttp 框架特性 | Http 版本简介 ) ---- 文章目录 OkHttp 系列文章目录 一、OkHttp 简介 二、Http 版本简介 ---- 一、OkHttp 简介 ---- OkHttp 是 Square 开发开源网络框架 , 目前已经替代了 HttpConnection 和 HttpClient ; OkHttp 官网 : https://square.github.io/okhttp/ 使用 OkHttp 可以更快的下载并节省带宽 ; OkHttp 是一格高效的 HTTP 客户端 , 具有以下特性 : 套接字复用 则使用连接池机制 , 降低请求延迟 ; 数据压缩 : 底层实现 GZIP 数据压缩 , 缩小下载内容的大小 ; 缓存链接 : 通过缓存技术 , 避免网络重复请求的情况 ; 重连接机制 : 网络出现问题后 , OkHttp

    3.4K20编辑于 2023-03-29
  • 来自专栏韩曙亮的移动开发专栏

    OkHttpOkHttp 源码分析 ( 网络框架封装 | OkHttp 4 迁移 | OkHttp 建造者模式 )

    OkHttp 系列文章目录 【OkHttpOkHttp 简介 ( OkHttp 框架特性 | Http 版本简介 ) 【OkHttp】Android 项目导入 OkHttp ( 配置依赖 | 配置 networkSecurityConfig | 配置 ViewBinding | 代码示例 ) 【OkHttpOkHttp Get 和 Post 请求 ( 同步 Get 请求 | 异步 Get 请求 | 同步 Post 请求 | 异步 Post 请求 ) 【OkHttpOkHttp 上传图片 ( 获取 SD 卡动态权限 | 跳转到相册界面选择图片 | 使用 OkHttp 上传图片文件 ) 【OkHttpOkHttp 源码分析 ( 网络框架封装 | OkHttp 4 迁移 | OkHttp 建造者模式 ) ---- 文章目录 OkHttp 系列文章目录 一、网络框架封装 二、OkHttp 4 迁移 三 网络框架就实现了上述封装 , 并且用法更加 二、OkHttp 4 迁移 ---- OkHttp3 使用 Java 实现 , OkHttp4 使用 Kotlin 实现 ; 如果迁移到 OkHttp4 ,

    1.2K20编辑于 2023-03-29
  • 来自专栏Java实战博客

    OkHttp

    之前一直用Hutool,早就忘记OkHttp这个牛逼的工具了,因为担心公司整体业务使用OkHttp,于是将原Hutool代码修改为OkHttp。 <dependency> <groupId>com.squareup.okhttp3</groupId> <artifactId>okhttp</artifactId> <version response.body().string()); } catch (IOException e) { throw new RuntimeException("OkHttp body) .build(); Response response = client.newCall(request).execute(); 如果你不想写OkHttp

    73130编辑于 2022-09-29
  • 来自专栏allsmallpi博客

    OkHttp学习

    一、OkHttp 简介 OkHttp 库的设计和实现的首要目标是高效。这也是选择 OkHttp 的重要理由之一。 如果 HTTP/2 和 SPDY 不可用,OkHttp 会使用连接池来复用连接以提高效率。OkHttp 提供了对 GZIP 的默认支持来降低传输内容的大小。 OkHttp 在遇到访问错误时会自动尝试备选路由。 当通过 OkHttp 来请求某个 URL 时,OkHttp 首先从 URL 中得到地址信息,再从连接池中根据地址来获取连接。 当实际的连接建立之后,OkHttp 发送 HTTP 请求并获取响应。当连接出现问题时,OkHttp 会自动选择另外的路由进行尝试。这使得 OkHttp 可以自动处理可能出现的网络问题。 OkHttp 会对收到的请求进行一定的处理,比如增加额外的 HTTP 头。同样的,OkHttp 也可能在返回响应之前对响应做一些处理。例如,OkHttp 可以启用 GZIP 支持。

    1.4K20发布于 2021-02-12
  • 来自专栏Android研究院

    彻底理解OkHttp - OkHttp 源码解析及OkHttp的设计思想

    OkHttp 现在统治了Android的网络请求领域,最常用的框架是:Retrofit+okhttpOkHttp 源码解析 1、OkHttp 的整体框架设计 建议将okhttp的源码下载下来,用AndroidStudio 打开,整篇文章是根据源码的分析来学习okhttp的设计技巧和思想,如果本篇文章有内容分析不到位的地方 下图为okhttp请求网络的完整流程图(大致看一遍) ? okhttp的其他拦截器的具体实现大家可以自己研究一下即可,okhttp的这种设计思想我们完全可以应用到项目中去,解决一些问题。 总结 okhttp还有很多细节在本文中并没有涉及到,例如:okhttp是如何利用DiskLruCache实现缓存的、HTTP2/HTTPS 的支持等,本文主要讲解okhttp的核心设计思想,对整体有了清晰的认识之后

    3.6K32发布于 2018-09-11
  • 来自专栏移动开发面面观

    okhttp——RetryAndFollowUpInterceptor

    简介 okhttp的网络请求采用interceptors链的模式。每一级interceptor只处理自己的工作,然后将剩余的工作,交给下一级interceptor。 本文将主要阅读okhttp中的RetryAndFollowUpInterceptor,了解它的作用和工作原理。 RetryAndFollowUpInterceptor 顾名思义,RetryAndFollowUpInterceptor负责okhttp的请求失败的恢复和重定向。 而followUpCount则是为了限制okhttp的重试次数。 ---- 总结 RetryAndFollowUpInterceptor在okhttp中承担了重试和重定向的逻辑。 针对各种返回码,okhttp对无需重试的一些场景进行了裁剪,减少了无效重试的概率。同时,对不规范的重定向返回进行的过滤和校验。

    1.8K40发布于 2019-05-15
  • 来自专栏移动开发面面观

    okhttp——BridgeInterceptor

    简介 okhttp的网络请求采用interceptors链的模式。每一级interceptor只处理自己的工作,然后将剩余的工作,交给下一级interceptor。 本文将主要阅读okhttp中的BridgeInterceptor,了解它的作用和工作原理。 BridgeInterceptor BridgeInterceptor从名字上很难看出它的含义。 但由于okhttp在用户未设置Accep-Encoding时,会进行gzip的转换。 当HTTP使用gzip方式时,Content-Length的返回是根据gzip压缩后的长度进行返回的。 所以,此时okhttp选择将Content-Length remove掉,以免让调用者产生误解。 不得不说okhttp在此处的处理略显粗暴,但也不是完全不能理解。 Issue中也有相关的讨论 ? 总结 okhttp的BridgeInterceptor处理了HTTP的请求中对于请求Header和返回Header。对于HTTP模式的各种匹配做了相应的适配和容错。 如有问题,欢迎指正。

    1.6K30发布于 2019-05-15
  • 来自专栏用户1337634的专栏

    OkHttp上传文件

    MultipartBody.FORM:需要设置 setType(MultipartBody.FORM) 签名错误:需要指定签名算法HMAC-SHA256 其他问题:上传到微信的时候,还需要SSL配置,下一篇文章再介绍如何在OkHttp 中配置SSL证书 参考 how to use okhttp to upload a file?

    2.5K22发布于 2019-06-21
  • 来自专栏路遥的专栏

    OkHttp科普篇

    OkHttp科普篇 原文作者:星宸2021 原文链接:https://juejin.cn/post/7000360176834330638 本文目的 1.梳理okhttp的整体流程 2.Java和kotlin 版本的对比 (Java版本为3.14.x) 3.流程梳理都在Java版本中,kotlin作为一个对比 设备要求 OkHttp works on Android 5.0+ (API level 21+) 要求在Android5.0以上的版本上且jdk版本为jdk8 使用流程 引入依赖 //新版库采用kotlin语言编写 implementation("com.squareup.okhttp3:okhttp 0, Integer.MAX_VALUE, 60, TimeUnit.SECONDS, new SynchronousQueue<>(), Util.threadFactory("OkHttp { private final Callback responseCallback; AsyncCall(Callback responseCallback) { super("OkHttp

    1.2K10发布于 2021-09-22
  • 来自专栏dongfanger

    OkHttp学习笔记

    OkHttp是什么 OkHttp是一个HTTP客户端,它不只是简单的发送请求和接收响应,还包含了失败重试、响应缓存等特性功能,并且能支持同步和异步请求。 OkHttp的语法相当简洁,比如Get: OkHttpClient client = new OkHttpClient(); String run(String url) throws IOException /issues") .header("User-Agent", "OkHttp Headers.java") .addHeader("Accept", "application 官网 https://square.github.io/okhttp/ Recipes https://square.github.io/okhttp/recipes/ 源码 https://github.com /square/okhttp

    1.1K20编辑于 2023-03-09
  • 来自专栏Android开发经验分享

    okhttp之StreamAllocation

    okhttp也是根据2.0和1.1/1.0作为区分,实现了两种连接机制. http2.0解决了老版本(1.1和1.0)最重要两个问题: 连接无法复用 head of line blocking (HOL 在OKHttp里面,负责连接的是 RealConnection 。 ---- 参考文章 OKHttp源码解析(九) 如果觉得不错的话,请帮忙点个赞。 以上

    47930编辑于 2022-12-19
  • 来自专栏Android开发者

    OkHttp使用详解

    今天学习了一下OkHttp,在这里做个总结,希望可以帮助到有需要的人,好了,废话不多说,进入正题。 一、OkHttp介绍 OkHttp是一个优秀的网络请求框架,可能一说到网络请求框架,可能很多人都会想到volley,volley是一个Google提供的网络请求框架,我的博客里也有一篇专门介绍volley _当然在开始之前,我们还要先在项目中添加OkHttp的依赖库,至于怎么在AndroidStudio中给项目添加OkHTTP依赖,这里将不再赘述。 另外,OkHttp中使用了建造者模式,如果对建造者模式不了解,可以看看这篇博客设计模式之建造者模式_** 添加OkHttp的依赖 在对应的Module的gradle中添加 compile 'com.squareup.okhttp3 :okhttp:3.5.0' 然后同步一下项目即可 二、OkHttp进行Get请求 使用OkHttp进行Get请求只需要四步即可完成。

    12.4K40编辑于 2021-12-03
  • 来自专栏安卓圈

    源码系列-OkHttp

    OkHttp官网地址:https://square.github.io/okhttp/ 用法如下:(get请求) package okhttp3.guide; import java.io.IOException ;import okhttp3.OkHttpClient;import okhttp3.Request;import okhttp3.Response; public class GetExample GetExample example = new GetExample(); String response = example.run("https://raw.github.com/square/okhttp /master/README.md"); System.out.println(response); }} Github下载源码地址https://github.com/square/okhttp maximumPoolSize */, 60L /* keepAliveTime */, TimeUnit.SECONDS, new SynchronousQueue<>(), Util.threadFactory("OkHttp

    1.2K10发布于 2020-04-26
  • 来自专栏Android开发经验分享

    okhttp之Connection

    当我们进行网络请求的时候, okhttp 会拿到 一个 RealConnection 来进行对应的网络连接操作。 下面我们来看下 RealConnection。 ---- RealConnection 的成员变量 静态常量: /** * 解决Android 7.0 的一个报错 * https://github.com/square/okhttp/issues

    97430编辑于 2022-12-19
  • 来自专栏Android开发经验分享

    okhttp之Dispatcher

    执行异步请求时的策略 所以Dispatcher是我们进行异步请求是 okhttp 给我们提供的 执行异步请求时的策略. public final class Dispatcher {...} Integer.MAX_VALUE, 60, TimeUnit.SECONDS, new SynchronousQueue<Runnable>(), Util.threadFactory("OkHttp runningCallsCount() { return runningAsyncCalls.size() + runningSyncCalls.size(); } ---- 小结 Dispatcher是我们进行异步请求是 okhttp

    68920编辑于 2022-12-19
  • 来自专栏tea9的博客

    android-okhttp

    github地址 https://github.com/square/okhttp //引入okhttp包 private final OkHttpClient client = new OkHttpClient OkHttp现阶段不提供异步api来接收响应体。

    42410编辑于 2022-07-16
  • 来自专栏火属性小虫

    OKHttp使用解析

    , 13 8月 2022 作者 847954981@qq.com 后端学习, 我的编程之路 OKHttp使用解析 OKHttp 是一套处理 HTTP 网络请求的依赖库,由 Square 公司设计研发并开源 OKHttp的基本使用: 首先想要使用OKHttp,需要创建一个OkHttpClient的实例,作为其客户端。

    80350编辑于 2023-02-22
  • 来自专栏乐百川的学习频道

    OkHttp库简介

    今天我发现了一个使用比较广泛的OkHttp库,它在安卓和Java领域都有使用,在Github上的星数有两万多,所以我们可以放心的使用。 安装 先来看看如何安装OkHttp。 <dependency> <groupId>com.squareup.okhttp3</groupId> <artifactId>okhttp</artifactId> <version>3.10.0 compile 'com.squareup.okhttp3:okhttp:3.10.0' 使用 获取网页内容 首先需要构造一个OkHttpClient对象,然后在构造一个Request对象,然后获取Response 这大概就是OkHttp不提供该方法的原因吧。 POST方式发送信息 这里直接引用了官方的代码实例,可以参考原网页。 以上就是OkHttp的一些简单用法,希望对大家有所帮助。OkHttp库的缺点就是没有官方文档,大概作者觉得这个库使用起来很简单,干脆就不写文档了。

    1.4K40发布于 2019-05-29
  • 来自专栏Android开发经验分享

    okhttp之Request

    Request即我们构建的每一个HTTP请求。通过配置请求的 地址、http方法、请求头 等信息。

    40810编辑于 2022-12-19
领券