OkHttp使用教程
2016-02-27 14:55
543 查看
OkHttp已经出到3.2.0了,之间的api有的也发生了变化,下面贴出自己写的工具类。
下面是RequestParam,用于POST请求
下面是使用方法:
public class HttpClient { private static OkHttpClient.Builder builder = new OkHttpClient.Builder(); private static int cacheSize = 10 * 1024 * 1024; // 10 MiB /** * 设置连接超时时间 * * @param timeout */ public static void setConnectTimeout(long timeout) { builder.connectTimeout(timeout, TimeUnit.MILLISECONDS); } /** * 设置读取超时时间 * * @param timeout */ public static void setReadTimeout(long timeout) { builder.readTimeout(timeout, TimeUnit.MILLISECONDS); } /** * 设置写入超时时间 * * @param timeout */ public static void setWriteTimeout(long timeout) { builder.writeTimeout(timeout, TimeUnit.MILLISECONDS); } /** * 设置缓存 * * @param cacheDirectory */ public static void setcache(File cacheDirectory) { Cache cache = new Cache(cacheDirectory, cacheSize); builder.cache(cache); } /** * 设置缓存大小 * * @param size */ public static void setCacheSize(int size) { cacheSize = size; } /** * GET请求方式 * * @param path * @param callback */ public static void get(String path, Callback callback) { Request request = new Request.Builder().url(path).build(); builder.build().newCall(request).enqueue(callback); } /** * POST请求方式 * * @param path * @param params * @param callback */ public static void post(String path, RequestParam params, Callback callback) { Request request = new Request.Builder().url(path).post(params.create()).build(); builder.build().newCall(request).enqueue(callback); } }
下面是RequestParam,用于POST请求
public class RequestParam { private StringBuilder params = new StringBuilder(); private FormBody.Builder builder = new FormBody.Builder(); public void put(String key, String value) { builder.add(key, value); } public RequestBody create() { return builder.build(); } }
下面是使用方法:
public class Test { public static void main(String[] args) { RequestParam param = new RequestParam(); param.put("", ""); param.put("", ""); param.put("", ""); HttpClient.post("https://hao.360.cn/", param, new Callback() { @Override public void onResponse(Call call, Response response) throws IOException { // TODO Auto-generated method stub if (response.isSuccessful()) { System.out.println(response.request().url()); System.out.println(response.body().string()); } else { System.out.println("Error"); } } @Override public void onFailure(Call call, IOException e) { // TODO Auto-generated method stub } }); } }
相关文章推荐
- 002_Http之介绍
- VS2010创建并使用DLL http://www.cnblogs.com/laogao/archive/2012/12/07/2806528.html
- XMLHttpRequest cannot load 跨域问题解决
- 片上网络
- 片上网络
- 【转】iOS,Android网络抓包教程之tcpdump
- 太原网络营销师讲百度竞价(SEM)如何快速掌握上手公司的竞价账户?
- centos的nginx+https配置
- 神经网络分类
- Wireshark基本介绍和学习TCP三次握手
- httpclient以post方式发送body
- 如何查看自己电脑的IP和网络运营商
- [神经网络]2.1-How the backpropagation algorithm works-Warm up: a fast matrix-based approach ...(翻译)
- 自己写的一个简单的BP神经网络代码
- 安装andriod studio时出现Internal error. Please report to https://code.google.com/p/an
- okHttp的用法
- 使用windows2003多台服务器网络负载平衡注意事项
- 【高性能】Extreme交换机从头到尾配置
- 业绩暴涨200%的4大策略,店长必学
- 网络流(最大流):POJ 1149 PIGS