OkHttp使用
来源:互联网 发布:自学英语入门软件 编辑:程序博客网 时间:2024/06/06 09:38
转载自:http://blog.csdn.net/qq_26562641/article/details/53639982
OKHttp是基于Http协议上的网络通讯,相较于HttpClinent,OKHttp就比较轻量级。
HTTP GET
private final static OkHttpClient client = new OkHttpClient(); private static void get() throws Exception { String url = "http://www.baidu.com"; Request request = new Request.Builder() .url(url) .build(); Response response = client.newCall(request).execute(); if (response.isSuccessful()) { String body = response.body().string(); System.out.println(body); } else { throw new IOException("Unexpected code " + response); } }
Request是OkHttp中访问的请求,Response即OkHttp中的响应,response.body()返回ResponseBody类,可以方便的获取body部分string,也可以通过byteStream()获取InputStream。
HTTP POST
private final static OkHttpClient client = new OkHttpClient.Builder() .connectTimeout(30, TimeUnit.SECONDS) .build(); private static void post() throws Exception { MediaType JSONTYPE = MediaType.parse("application/json; charset=utf-8"); String json = ""; String url = ""; RequestBody body = RequestBody.create(JSONTYPE, json); Request request = new Request.Builder() .url(url) .post(body) .build(); Response response = client.newCall(request).execute(); if (response.isSuccessful()) { String bodyStr = response.body().string(); System.out.println(bodyStr); } else { throw new IOException("Unexpected code " + response); } }
上面例子通过MediaType设置可以提交Json数据,也可以发送键值对数据:
RequestBody formBody = new FormBody.Builder() .add("platform", "android") .add("name", "bug") .add("subject", "XXXXXXXXXXXXXXX") .build();Request request = new Request.Builder() .url(url) .post(formBody) .build();Response response = client.newCall(request).execute();
关于OkHttp的更多用法,参考:http://www.cnblogs.com/ct2011/p/3997368.html
阅读全文
0 0
- OKHttp使用
- OkHttp 使用
- OKHttp 使用
- okhttp使用
- OKHTTP使用
- Okhttp使用
- Okhttp使用
- Okhttp使用
- okhttp使用
- OkHttp 使用
- okhttp使用
- OkHttp使用
- OkHttp使用
- OKHTTP 使用
- okhttp使用
- OKhttp使用
- okhttp使用
- 使用okhttp
- 运动会 循环图
- 夜间主体与switchButton
- 每隔一段时间自动执行一次某个方法(使用线程)
- Celery基本原理探讨
- HDU
- OkHttp使用
- Retrofit2 & RxJava2实现单文件和多文件上传
- numpy的delete删除数组整行和整列
- java设计模式-- 策略模式
- Oracle 基础(3)——插入数据
- Alice, Bob and Chocolate
- 【已解决】springmvc出现的未找到处理器异常可能原因
- JAVA实现二叉树的前、中、后序遍历(递归与非递归)
- 解惑 spring 嵌套事务