OKHttp3 基本用法

OKHttp3 基本用法

简介
- OKHttp是一个当前主流的网络请求的开源框架
- Square公司开发,用于替代HttpUrlConnection和Apache HttpClient
- Android4.4开始,google已经开始将源码中的HttpURLConnection替换为OkHttp
- Android6.0里已移除HttpClient

1.支持http和https协议,api相同,易用; 
2.http使用线程池,https使用多路复用;
3.okhttp支持同步和异步调用; 
4.支持普通form和文件上传form; 
5.操作请求和响应(日志,请求头,body等); 
6.okhttp可以设置缓存;
7.支持透明的gzip压缩响应体

Get请求

1.获取okHttpClient对象
2.构建Request对象
3.构建Call对象
4.通过Call.enqueue(callback)方法来提交异步请求;execute()方法实现同步请求

public class HttpProxy {
    private Logger logger = LoggerFactory.getLogger(HttpProxy.class);
    private static OkHttpClient client = new OkHttpClient.Builder()
            .connectTimeout(30, TimeUnit.SECONDS).readTimeout(30, TimeUnit.SECONDS)
            .followRedirects(false).build();

    public void sendGet(String finalUrl){
        Request req = new Request.Builder()
                .url(finalUrl)
                .build();
        //调用execute()方法得到同步的响应Response
        try{
            Response response = HttpProxy.client.newCall(req).execute();
            response.body().close();
            response.close();
            logger.info("转发PHP:{}", finalUrl);
        }catch (Exception e){
            logger.info("exception e: {}",e);
        }
    }
}

Post请求

1.获取okHttpClient对象
2.创建RequestBody
3.构建Request对象
4.构建Call对象
5.通过Call.enqueue(callback)方法来提交异步请求;execute()方法实现同步请求

异步处理

重定向

使用OkHttp进行重定向拦截处理
https://www.jianshu.com/p/d04bfd6b6146

缓存

okhttp 缓存实践
https://www.jianshu.com/p/4550f14338db

通过CacheControl.Builder()定制自己的缓存策略

参考

OkHttp3
https://www.jianshu.com/p/9ee7b47d4f43

OKHttp3 基本用法
https://www.jianshu.com/p/16ab28d40737

使用OkHttp进行重定向拦截处理
https://www.jianshu.com/p/d04bfd6b6146

okhttp 缓存实践
https://www.jianshu.com/p/4550f14338db

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值