最近的项目中有个接口是返回文件流数据,根据我们这边一个验签的插件,我发现里面有okHttpClient提供了Call.Factory,所以就学习了下okHttp3的用法。
1、概述
okhttp是一个处理网络请求的开源项目,是安卓端最火热的轻量级框架,由移动支付Square公司开发。
okttp3的github官方地址是:https://square.github.io/okhttp/
2、get方式请求
try { // 初始化 OkHttpClient OkHttpClient client = new OkHttpClient(); // 初始化请求体 Request request = new Request.Builder() .get() .url(url) .build(); // 得到返回Response Response response = client.newCall(request).execute(); } catch (IOException e) { e.printStackTrace(); }
3、post方式请求
try { // 初始化 OkHttpClient OkHttpClient client = new OkHttpClient(); //请求参数体 RequestBody requestBody = new FormBody.Builder() .add("name","张三") .add("age","20") .build(); // 初始化请求体 Request request = new Request.Builder() .post(requestBody) .url(url) .build(); // 得到返回Response Response response = client.newCall(request).execute(); } catch (IOException e) { e.printStackTrace(); }
4、自己的实例
post方式请求,url和RequestBody作为参数
调用该方法,并传入url和requestB
单元测试,获取到的文件流输出到文件
5、小结
其实以上只是我在使用中很简单的一个运用,okHttp3对于http请求的处理还有很多可以研究的地方,比如上传参数是json怎么处理?上传文件怎么处理?
日后的工作中继续学习。