`
k1280000
  • 浏览: 202611 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

httpclient 4.0.1 learning

    博客分类:
  • http
 
阅读更多

HttpClient client = new DefaultHttpClient ();
        HttpPost post = new HttpPost(url);
        List<NameValuePair> data = Lists.newArrayList();
        data.add(new BasicNameValuePair("sign","sign+md5"));
        try {
            post.setEntity(new UrlEncodedFormEntity(data));
            client.execute(post);
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        } catch (ClientProtocolException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

 

------------------------------------------------------------------------------------------------------------------------

------------------------------------------------------------------------------------------------------------------------

4.5

 

CloseableHttpClient httpclient = HttpClients.createDefault();
HttpGet httpget = new HttpGet("http://localhost/");
CloseableHttpResponse response = httpclient.execute(httpget);
try {
    HttpEntity entity = response.getEntity();
    if (entity != null) {
        InputStream instream = entity.getContent();
        try {
            // do something useful
        } finally {
            instream.close();//保持连接
        }
    }
} finally {
    response.close(); //直接shutdown这个连接
}
 

The difference between closing the content stream and closing the response is that the former will attempt to keep the underlying connection alive by consuming the entity content while the latter immediately shuts down and discards the connection.

 

 

Response Handler

The simplest and the most convenient way to handle responses is by using the ResponseHandler interface, which includes the handleResponse(HttpResponse response) method. This method completely relieves the user from having to worry about connection management.

When using a ResponseHandler, HttpClient will automatically take care of ensuring release of the connection back to the connection manager regardless whether the request execution succeeds or causes an exception.

 

CloseableHttpClient httpclient = HttpClients.createDefault();
HttpGet httpget = new HttpGet("http://localhost/json");

ResponseHandler<MyJsonObject> rh = new ResponseHandler<MyJsonObject>() {

    @Override
    public JsonObject handleResponse(
            final HttpResponse response) throws IOException {
        StatusLine statusLine = response.getStatusLine();
        HttpEntity entity = response.getEntity();
        if (statusLine.getStatusCode() >= 300) {
            throw new HttpResponseException(
                    statusLine.getStatusCode(),
                    statusLine.getReasonPhrase());
        }
        if (entity == null) {
            throw new ClientProtocolException("Response contains no content");
        }
        Gson gson = new GsonBuilder().create();
        ContentType contentType = ContentType.getOrDefault(entity);
        Charset charset = contentType.getCharset();
        Reader reader = new InputStreamReader(entity.getContent(), charset);
        return gson.fromJson(reader, MyJsonObject.class);
    }
};
MyJsonObject myjson = client.execute(httpget, rh);

 

分享到:
评论

相关推荐

    HttpClient 4.0.1 所有JAR包

    HttpClient 4.0.1所依赖的所有JAR包。包括: commons-logging-1.1.1.jar commons-codec-1.4.jar httpcore-4.0.1.jar&lt;br/&gt; httpclient-4.0.1.jar apache-mime4j-0.6.jar httpmime-4.0.1.jar

    httpclient-4.0.1.jar

    HttpClient 4.0.1是HttpClient系列的一个稳定版本,它在4.0的基础上进行了优化和增强,提供了更好的性能和可靠性。此版本支持HTTP/1.1协议,并且兼容HTTP/1.0。HttpClient不仅能够处理基本的GET和POST请求,还支持...

    httpclient库4.0.1

    《HttpClient库4.0.1详解》 HttpClient是Apache软件基金会的一个开源项目,它提供了一个强大的、可定制的、功能丰富的HTTP客户端API,用于构建基于Java的网络应用程序。HttpClient库4.0.1是该系列的一个重要版本,...

    HttpClient-4.0.1中文文档下载+官方教程

    ### HttpClient-4.0.1中文文档下载+官方教程知识点详解 #### 一、概述 **HttpClient** 是 Apache 提供的一个高效、功能丰富的 HTTP 客户端开发工具包,广泛应用于 Java 应用程序中进行 HTTP 请求处理。不同于普通...

    HttpClient-4.0.1中文版官方教程

    ### HttpClient-4.0.1中文版官方教程 #### 第一章 基础 **1.1 执行请求** HttpClient 是 Apache 提供的一个用于发送 HTTP 请求和接收 HTTP 响应的强大工具包。它并不像浏览器那样具备完整网页渲染的能力,而是...

    HttpClient 4.0.3 Api 帮助文档 CHM格式

    HttpClient 是 Apache Jakarta Common 下的子项目,可以用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,...本文首先介绍 HTTPClient,然后根据作者实际工作经验给出了一些常见问题的解决方法。

    httpclient4中文教程.doc

    HttpClient-4.0.1 是一个Java客户端HTTP通信库,用于发送和接收HTTP消息。它不涉及浏览器功能,如缓存、执行JavaScript或自动处理HTTP重定向。本教程将介绍HttpClient的基本概念和使用方法。 首先,HttpClient的...

    httpclient 4.0.3 源代码

    《HttpClient 4.0.3源代码解析》 HttpClient是一个由Apache基金会开发的开源HTTP客户端API,广泛应用于Java编程环境中,用于实现与HTTP服务器的通信。版本4.0.3是HttpClient的一个稳定版本,提供了丰富的功能和改进...

    httpcomponents-client-4.0.1

    《Apache HttpClient 4.0.1详解》 Apache HttpClient是一个广泛使用的开源Java库,它提供了对HTTP协议的强大支持,使得开发者能够轻松地处理HTTP请求和响应。本文将深入探讨Apache HttpClient 4.0.1版本的主要特性...

    httpclient-4.0.1.jar,httpcore-4.0.1.jar,httpmime-4.1.3.jar

    httpclient 开发所需要的jar。希望帮到大家

    commons-codec-1.3.jar\commons-logging-1.1.1.jar\httpclient-4.0.1.jar

    常用的Commsjar包:commons-codec-1.3.jar\commons-logging-1.1.1.jar\httpclient-4.0.1.jar\httpcore-4.0.1.jar\GJson.jar

    httpclient全部jar包

    HttpClient 4.0.1所依赖的所有JAR包。包括: commons-logging-1.1.1.jar commons-codec-1.4.jar httpcore-4.0.1.jar httpclient-4.0.1.jar apache-mime4j-0.6.jar httpmime-4.0.1.jar

    httpclient 框架

    在本文中,我们将深入探讨HttpClient 4.0.1版本的主要特性、使用方法以及相关知识点。 HttpClient 4.0.1是该框架的一个稳定版本,提供了丰富的功能,包括支持HTTP/1.1协议、连接管理、重试策略、身份验证、Cookie...

    commons-beanutils-1.7.0,apache-mime4j-0.6,dom4j-1.6.1,httpclient-4.0.1

    4. **httpclient-4.0.1**: Apache HttpClient是Apache HTTP组件的一部分,提供了一个功能强大的HTTP客户端实现。这个库允许开发者执行HTTP和HTTPS请求,处理响应,管理连接池,处理重定向,以及处理身份验证等复杂...

    httpclient4

    HttpClient 4.0.1是该系列的一个版本,它在前一版本的基础上进行了优化和增强,旨在提高性能、稳定性和易用性。在本文中,我们将深入探讨HttpClient 4的关键特性、使用方法以及常见应用场景。 1. **基本概念** - *...

    httpclient所有依赖包

    httpclient所有依赖包 httpclient-4.0.1.jar commons-codec-1.3.jar commons-logging-1.1.1.jar apache-mime4j-0.6.jar httpcore-4.0.1.jar httpmime-4.0.1.jar

    HttpClient入门陆小马功钟浩.pdf

    HttpClient 4.0.1是2010年时的最新版本,它依赖于HttpCore、commons-codec、commons-logging等多个项目,如果需要处理复杂的MIME类型,例如文件上传,则需要引入HttpMime依赖。 接下来,了解JDK中与HTTP和URL处理...

Global site tag (gtag.js) - Google Analytics