3-4 OkHttp的基本封装2

OkHttp的基本封装

 

一、使用步骤

  1. 构建client

  2. 配置参数

  3. 构建request

  4. 执行请求call.execute/enquene

    • GET请求

    • POST请求

//client
val okClient = OkHttpClient.Builder()
        .callTimeout(10, TimeUnit.SECONDS)//完整请求超时时长,从发起到接收返回数据,默认值0,不限
        .connectTimeout(10, TimeUnit.SECONDS)//与服务器建立连接的时长,默认10s
        .readTimeout(10, TimeUnit.SECONDS)//读取服务器返回数据的时长
        .writeTimeout(10, TimeUnit.SECONDS)//向服务器写入数据的时长,默认10s
        .cache(Cache(mCacheFile, 1024))//http 的缓存大小,位置
        .cookieJar(CookieJar.NO_COOKIES)//不使用cookie,若用,自定义cookieJar实现
        .build()

二、优化点

  1. 抽象接口封装

  2. 配置CookieJar,网络日志工具,重试机制

  3. 管理请求cancel/cancelAll

  1. okhttp的https支持问题

    • 放行绕过

    HostnameVerifier的实现类,设置verify 函数return true

    X509TrustManager空实现

    • 校验证书

  2. CniaoInterceptor 拦截器的顺序RealCall.kt

    client.interceptor(),BridgeInterceptor,CacheInterceptor,ConnectInterceptor,networkInterceptors,CallServerInterceptor

  3. LiveData、Couroutines,lambda的callback

  4. retrofit的初步封装

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值