`
zheyiw
  • 浏览: 1019997 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

OKHTTP

阅读更多

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-2.0.0.jar+okhttp-apache-2.0.0.jar+okhttp-urlconnection-2.0.0.jar

    OKHttp是Java编程语言中的一款高效且功能强大的网络请求库,尤其在移动开发领域,如Android应用程序中,它被广泛使用。标题中的"okhttp-2.0.0.jar+okhttp-apache-2.0.0.jar+okhttp-urlconnection-2.0.0.jar"分别指的...

    okhttp最新版okhttp-3.9.0.jar下载

    OkHttp旨在通过减少网络延迟和减少内存使用来提高应用程序的性能。这个版本的发布可能包含了性能优化、新功能、bug修复或对先前版本的改进。 描述中提到的"okio-1.6.0.jar"是OkHttp依赖的一个重要库,Okio是一个...

    okhttp-3.11.0-API文档-中文版.zip

    赠送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-...

    okhttp-4.8.1.jar和 okhttp-4.9.1.jar

    这两个 jar 包,okhttp-4.8.1.jar 和 okhttp-4.9.1.jar,代表了 OkHttp 库的不同版本。 OkHttp 4.8.1 版本是 OkHttp 的一个稳定版本,它包含了先前版本的所有功能,并可能对已知问题进行了修复和性能优化。在这一...

    java使用okHttp必须的okHttp3.8.1以及okio-1.13.0jar包

    Java中的OkHttp是一个高效且强大的网络请求库,它由Square公司开发并维护,广泛应用于Android和Java应用程序中。OkHttp的出现解决了传统HttpURLConnection在处理网络请求时的一些性能问题,如连接池管理、缓存机制等...

    OKHTTP依赖包jar包下载 OKHTTP和OKIO的JAR包下载

    OKHTTP和OKIO是两个非常重要的Java库,广泛应用于Android开发中,特别是在网络通信和数据处理方面。OKHTTP是一个高效的HTTP客户端,而OKIO则是一个现代化的I/O库,为处理字节流和字符流提供了强大的支持。 首先,让...

    okhttp使用教程,通过okhttp将数据显示到textView上

    在Android开发中,OkHttp是一个高效且易用的网络请求库,由Square公司开发。它提供了简洁的API,使得开发者可以方便地发起HTTP请求,并获取响应数据。本教程将指导你如何利用OkHttp将网络数据展示到TextView上,让你...

    okhttp-2.4.0-API文档-中文版.zip

    赠送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...

    OkHttp-3.4.1版本jar

    Ok.IO是OkHttp的依赖库,主要负责I/O操作的优化和提升性能。 在OkHttp-3.4.1版本中,我们能看到它在之前的版本基础上进行了一系列改进和优化。这个版本包含了两个关键的组件:`okhttp-3.4.1.jar`和`okio-1.10.0.jar...

    okhttp3 jar包

    当网络出现问题的时候OkHttp依然坚守自己的职责,它会自动恢复一般的连接问题,如果你的服务有多个IP地址,当第一个IP请求失败时,OkHttp会交替尝试你配置的其他IP,OkHttp使用现代TLS技术(SNI, ALPN)初始化新的连接

    okhttp-3.3.1-API文档-中文版.zip

    赠送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信息:...

    okhttp-3.14.9-API文档-中文版.zip

    赠送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 3.2.0jar包程序文件

    OkHttp 是一个高效且强大的网络请求库,广泛应用于Android开发中。它由Square公司开发,以其优秀的性能、易用性和灵活性著称。OkHttp 3.2.0是该库的一个版本,它提供了许多关键特性,包括连接池、HTTP/2支持、自动重...

    jar-okhttp4.2版本

    《OkHttp 4.2版本详解》 在Java和Android开发中,OkHttp是一个非常流行的网络请求库,因其高效、易用和强大的特性而受到广大开发者喜爱。OkHttp 4.2版本是其一个重要的更新迭代,带来了诸多优化和新功能。本文将...

    OKHTTP所有依赖jar包

    在Android应用开发中,OKHTTP因其出色的性能和丰富的特性而备受开发者青睐。OKIO是与OKHTTP配套使用的低级I/O库,它优化了数据读写操作,尤其在处理大量数据时表现突出。 1. **OKHTTP的核心功能**: - **连接池**...

    okhttp中连接池实现

    本文将深入探讨OkHttp中的连接池实现,包括连接对象的添加、移除机制以及其工作原理。 首先,我们需要了解什么是连接池。连接池是一种资源管理技术,用于存储和管理预先建立的网络连接,避免每次请求都创建新的TCP...

    okhttp3.12.1+okio1.14.1

    版本号 "okhttp3.12.1" 指的是 OkHttp 库的特定稳定版本,它包含了各种优化和改进,确保在 Android 4.4 及以上系统上能够良好运行。"okio1.14.1" 是 OkHttp 的依赖库,用于提供高效的数据处理和流管理功能。 **...

    okhttp最新版jar

    OkHttp 的最新版本提及的是 2.6.0,这是一个相对早期的版本,尽管如此,它仍然包含了许多重要的功能和优化,旨在提高网络通信的性能和效率。 **OkHttp 的核心特性:** 1. **连接池**:OkHttp 使用连接池来复用已...

    okhttp-3.14.9-API文档-中英对照版.zip

    赠送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下载包含okhttp-3.8.1.jar,okio-1.9.0.jar

    在Android开发中,OkHttp是一个高效且功能强大的网络请求库,它被广泛应用于网络数据的获取和发送。OkHttp的设计目标是减少网络延迟,提高应用程序的响应速度,并且提供了丰富的特性来支持现代HTTP协议。本资源包含...

Global site tag (gtag.js) - Google Analytics