初识网络请求框架--OKHttp官方介绍
2016-05-04 00:00
453 查看
摘要: OKHttp是一个非常火的一个框架,本博客做一个简要的介绍
OKHttp
官网:http://square.github.io/okhttp/
GitHub: https://github.com/square/okhttp
首先看官方介绍:
OkHttp默认是一个有效的HTTP客户端:
HTTP / 2支持允许所有请求相同的主机共享一个套接字。
连接池可以减少请求延迟(如果HTTP / 2不可使用)。
透明的GZIP收缩下载大小。
响应缓存避免了网络完全重复请求。
OkHttp坚守网络时麻烦:它会悄然从常见的连接问题中恢复过来。 如果你的服务有多个IP地址OkHttp将尝试备用地址如果第一个连接失败。 这是必要的IPv4 + IPv6和服务驻留在冗余的数据中心。 与现代TLS OkHttp发起新连接特性(SNI ALPN),并落回TLS 1.0如果握手失败。
使用OkHttp很容易。 它的请求/响应API设计流畅建筑商和不变性。 它同时支持同步阻塞调用和异步调用回调。
OkHttp支持安卓2.3及以上。 对于Java,最低要求是1.7。
OkHttp源代码,其样本,这个网站可以在GitHub上。
OKHttp
官网:http://square.github.io/okhttp/
GitHub: https://github.com/square/okhttp
首先看官方介绍:
Overview
HTTP是现代网络应用程序的方式。 这是我们如何与媒体交换数据。 做HTTP有效地使你的东西加载更快,节省带宽。OkHttp默认是一个有效的HTTP客户端:
HTTP / 2支持允许所有请求相同的主机共享一个套接字。
连接池可以减少请求延迟(如果HTTP / 2不可使用)。
透明的GZIP收缩下载大小。
响应缓存避免了网络完全重复请求。
OkHttp坚守网络时麻烦:它会悄然从常见的连接问题中恢复过来。 如果你的服务有多个IP地址OkHttp将尝试备用地址如果第一个连接失败。 这是必要的IPv4 + IPv6和服务驻留在冗余的数据中心。 与现代TLS OkHttp发起新连接特性(SNI ALPN),并落回TLS 1.0如果握手失败。
使用OkHttp很容易。 它的请求/响应API设计流畅建筑商和不变性。 它同时支持同步阻塞调用和异步调用回调。
OkHttp支持安卓2.3及以上。 对于Java,最低要求是1.7。
Examples
GET A URL
这个程序下载URL和打印内容为字符串。package okhttp3.guide; import java.io.IOException; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.Response; public class GetExample { OkHttpClient client = new OkHttpClient(); String run(String url) throws IOException { Request request = new Request.Builder() .url(url) .build(); Response response = client.newCall(request).execute(); return response.body().string(); } public static void main(String[] args) throws IOException { GetExample example = new GetExample(); String response = example.run("https://raw.github.com/square/okhttp/master/README.md"); System.out.println(response); } }
POST TO A SERVER
这个程序是向服务器抛一个数据。package okhttp3.guide; import java.io.IOException; import okhttp3.MediaType; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.RequestBody; import okhttp3.Response; public class PostExample { public static final MediaType JSON = MediaType.parse("application/json; charset=utf-8"); OkHttpClient client = new OkHttpClient(); String post(String url, String json) throws 7fe0 IOException { RequestBody body = RequestBody.create(JSON, json); Request request = new Request.Builder() .url(url) .post(body) .build(); Response response = client.newCall(request).execute(); return response.body().string(); } String bowlingJson(String player1, String player2) { return "{'winCondition':'HIGH_SCORE'," + "'name':'Bowling'," + "'round':4," + "'lastSaved':1367702411696," + "'dateStarted':1367702378785," + "'players':[" + "{'name':'" + player1 + "','history':[10,8,6,7,8],'color':-13388315,'total':39}," + "{'name':'" + player2 + "','history':[6,10,5,10,10],'color':-48060,'total':41}" + "]}"; } public static void main(String[] args) throws IOException { PostExample example = new PostExample(); String json = example.bowlingJson("Jesse", "Jake"); String response = example.post("http://www.roundsapp.com/post", json); System.out.println(response); } }
Download
你还需要Okio,OkHttp用途快速I / O和可调整大小的缓冲区。 下载最新的JAR。OkHttp源代码,其样本,这个网站可以在GitHub上。
相关文章推荐
- php结合安卓客户端实现查询交互实例
- 安卓输入框被虚拟键盘挡住的问题(微信开发)
- Android安卓中循环录像并检测内存卡容量
- 在安卓系统中插入表情到光标位置的代码详解
- Almp 安卓系统上搭建本地php服务器环境的步骤
- 谷歌被屏蔽后如何搭建安卓环境
- 安卓APP测试之使用Burp Suite实现HTTPS抓包方法
- 安卓(Android)聊天机器人实现代码分享
- 安卓(android)怎么实现下拉刷新
- Android中Fragment的生命周期与返回栈的管理
- 分享一个安卓的内置多种工具类的Activity
- 安卓系统中实现摇一摇画面振动效果的方法
- java实现获取安卓设备里已安装的软件包
- 安卓(Android)中如何实现滑动导航
- 六款值得推荐的android(安卓)开源框架简介
- 关于安卓so的兼容性的简单说明
- android(安卓)开源框架——六款【转】
- java.lang.NoClassDefFoundError: org.apache.axis.cl