import com.squareup.okhttp.OkHttpClient;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
public class GetExample {
OkHttpClient client = new OkHttpClient();
void run() throws IOException {
String result = get(new URL("https://raw.github.com/square/okhttp/master/README.md"));
System.out.println(result);
}
String get(URL url) throws IOException {
HttpURLConnection connection = client.open(url);
InputStream in = null;
try {
// Read the response.
in = connection.getInputStream();
byte[] response = readFully(in);
return new String(response, "UTF-8");
} finally {
if (in != null) in.close();
}
}
byte[] readFully(InputStream in) throws IOException {
ByteArrayOutputStream out = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
for (int count; (count = in.read(buffer)) != -1; ) {
out.write(buffer, 0, count);
}
return out.toByteArray();
}
public static void main(String[] args) throws IOException {
new GetExample().run();
}
}
public class PostExample {
OkHttpClient client = new OkHttpClient();
void run() throws IOException {
byte[] body = bowlingJson("Jesse", "Jake").getBytes("UTF-8");
String result = post(new URL("http://www.roundsapp.com/post"), body);
System.out.println(result);
}
String post(URL url, byte[] body) throws IOException {
HttpURLConnection connection = client.open(url);
OutputStream out = null;
InputStream in = null;
try {
// Write the request.
connection.setRequestMethod("POST");
out = connection.getOutputStream();
out.write(body);
out.close();
// Read the response.
if (connection.getResponseCode() != HttpURLConnection.HTTP_OK) {
throw new IOException("Unexpected HTTP response: "
+ connection.getResponseCode() + " " + connection.getResponseMessage());
}
in = connection.getInputStream();
return readFirstLine(in);
} finally {
// Clean up.
if (out != null) out.close();
if (in != null) in.close();
}
}
String readFirstLine(InputStream in) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(in, "UTF-8"));
return reader.readLine();
}
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 {
new PostExample().run();
}
}
分享到:
相关推荐
OKHttp是Java编程语言中的一款高效且功能强大的网络请求库,尤其在移动开发领域,如Android应用程序中,它被广泛使用。标题中的"okhttp-2.0.0.jar+okhttp-apache-2.0.0.jar+okhttp-urlconnection-2.0.0.jar"分别指的...
OkHttp旨在通过减少网络延迟和减少内存使用来提高应用程序的性能。这个版本的发布可能包含了性能优化、新功能、bug修复或对先前版本的改进。 描述中提到的"okio-1.6.0.jar"是OkHttp依赖的一个重要库,Okio是一个...
赠送jar包:okhttp-3.11.0.jar; 赠送原API文档:okhttp-3.11.0-javadoc.jar; 赠送源代码:okhttp-3.11.0-sources.jar; 赠送Maven依赖信息文件:okhttp-3.11.0.pom; 包含翻译后的API文档:okhttp-3.11.0-javadoc-...
这两个 jar 包,okhttp-4.8.1.jar 和 okhttp-4.9.1.jar,代表了 OkHttp 库的不同版本。 OkHttp 4.8.1 版本是 OkHttp 的一个稳定版本,它包含了先前版本的所有功能,并可能对已知问题进行了修复和性能优化。在这一...
Java中的OkHttp是一个高效且强大的网络请求库,它由Square公司开发并维护,广泛应用于Android和Java应用程序中。OkHttp的出现解决了传统HttpURLConnection在处理网络请求时的一些性能问题,如连接池管理、缓存机制等...
OKHTTP和OKIO是两个非常重要的Java库,广泛应用于Android开发中,特别是在网络通信和数据处理方面。OKHTTP是一个高效的HTTP客户端,而OKIO则是一个现代化的I/O库,为处理字节流和字符流提供了强大的支持。 首先,让...
在Android开发中,OkHttp是一个高效且易用的网络请求库,由Square公司开发。它提供了简洁的API,使得开发者可以方便地发起HTTP请求,并获取响应数据。本教程将指导你如何利用OkHttp将网络数据展示到TextView上,让你...
赠送jar包:okhttp-2.4.0.jar; 赠送原API文档:okhttp-2.4.0-javadoc.jar; 赠送源代码:okhttp-2.4.0-sources.jar; 赠送Maven依赖信息文件:okhttp-2.4.0.pom; 包含翻译后的API文档:okhttp-2.4.0-javadoc-API...
Ok.IO是OkHttp的依赖库,主要负责I/O操作的优化和提升性能。 在OkHttp-3.4.1版本中,我们能看到它在之前的版本基础上进行了一系列改进和优化。这个版本包含了两个关键的组件:`okhttp-3.4.1.jar`和`okio-1.10.0.jar...
当网络出现问题的时候OkHttp依然坚守自己的职责,它会自动恢复一般的连接问题,如果你的服务有多个IP地址,当第一个IP请求失败时,OkHttp会交替尝试你配置的其他IP,OkHttp使用现代TLS技术(SNI, ALPN)初始化新的连接
赠送jar包:okhttp-3.3.1.jar; 赠送原API文档:okhttp-3.3.1-javadoc.jar; 赠送源代码:okhttp-3.3.1-sources.jar; 包含翻译后的API文档:okhttp-3.3.1-javadoc-API文档-中文(简体)版.zip 对应Maven信息:...
赠送jar包:okhttp-3.14.9.jar; 赠送原API文档:okhttp-3.14.9-javadoc.jar; 赠送源代码:okhttp-3.14.9-sources.jar; 赠送Maven依赖信息文件:okhttp-3.14.9.pom; 包含翻译后的API文档:okhttp-3.14.9-javadoc-...
OkHttp 是一个高效且强大的网络请求库,广泛应用于Android开发中。它由Square公司开发,以其优秀的性能、易用性和灵活性著称。OkHttp 3.2.0是该库的一个版本,它提供了许多关键特性,包括连接池、HTTP/2支持、自动重...
《OkHttp 4.2版本详解》 在Java和Android开发中,OkHttp是一个非常流行的网络请求库,因其高效、易用和强大的特性而受到广大开发者喜爱。OkHttp 4.2版本是其一个重要的更新迭代,带来了诸多优化和新功能。本文将...
在Android应用开发中,OKHTTP因其出色的性能和丰富的特性而备受开发者青睐。OKIO是与OKHTTP配套使用的低级I/O库,它优化了数据读写操作,尤其在处理大量数据时表现突出。 1. **OKHTTP的核心功能**: - **连接池**...
本文将深入探讨OkHttp中的连接池实现,包括连接对象的添加、移除机制以及其工作原理。 首先,我们需要了解什么是连接池。连接池是一种资源管理技术,用于存储和管理预先建立的网络连接,避免每次请求都创建新的TCP...
版本号 "okhttp3.12.1" 指的是 OkHttp 库的特定稳定版本,它包含了各种优化和改进,确保在 Android 4.4 及以上系统上能够良好运行。"okio1.14.1" 是 OkHttp 的依赖库,用于提供高效的数据处理和流管理功能。 **...
OkHttp 的最新版本提及的是 2.6.0,这是一个相对早期的版本,尽管如此,它仍然包含了许多重要的功能和优化,旨在提高网络通信的性能和效率。 **OkHttp 的核心特性:** 1. **连接池**:OkHttp 使用连接池来复用已...
赠送jar包:okhttp-3.14.9.jar; 赠送原API文档:okhttp-3.14.9-javadoc.jar; 赠送源代码:okhttp-3.14.9-sources.jar; 赠送Maven依赖信息文件:okhttp-3.14.9.pom; 包含翻译后的API文档:okhttp-3.14.9-javadoc-...
在Android开发中,OkHttp是一个高效且功能强大的网络请求库,它被广泛应用于网络数据的获取和发送。OkHttp的设计目标是减少网络延迟,提高应用程序的响应速度,并且提供了丰富的特性来支持现代HTTP协议。本资源包含...