`
Jatula
  • 浏览: 278462 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

HttpClient Examples:Manual connection release

阅读更多

官方主頁:http://hc.apache.org/

 

Components
  • Manual connection release

    This example demonstrates how to ensure the release of the underlying HTTP connection back to the connection manager in case of a manual processing of HTTP responses.

  •  

    这个例子示范了如何确保释放基本的HTTP连接回到连接管理器的情况下人工处理HTTP响应。

     

    package cn.lake.util;
    
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    
    import org.apache.http.HttpEntity;
    import org.apache.http.HttpResponse;
    import org.apache.http.client.HttpClient;
    import org.apache.http.client.methods.HttpGet;
    import org.apache.http.impl.client.DefaultHttpClient;
    
    /**
     * This example demonstrates the recommended way of using API to make sure the
     * underlying connection gets released back to the connection manager.
     */
    public class ClientConnectionRelease {
    
    	public final static void main(String[] args) throws Exception {
    		HttpClient httpclient = new DefaultHttpClient();
    
    		HttpGet httpget = new HttpGet("http://www.apache.org/");
    
    		// Execute HTTP request
    		System.out.println("executing request " + httpget.getURI());
    		HttpResponse response = httpclient.execute(httpget);
    
    		System.out.println("----------------------------------------");
    		System.out.println(response.getStatusLine());
    		System.out.println("----------------------------------------");
    
    		// Get hold of the response entity
    		HttpEntity entity = response.getEntity();
    
    		// If the response does not enclose an entity, there is no need
    		// to bother about connection release
    		if (entity != null) {
    			BufferedReader reader = new BufferedReader(new InputStreamReader(entity.getContent()));
    			try {
    
    				// do something useful with the response
    				System.out.println(reader.readLine());
    
    			} catch (IOException ex) {
    
    				// In case of an IOException the connection will be released
    				// back to the connection manager automatically
    				throw ex;
    
    			} catch (RuntimeException ex) {
    
    				// In case of an unexpected exception you may want to abort
    				// the HTTP request in order to shut down the underlying
    				// connection and release it back to the connection manager.
    				httpget.abort();
    				throw ex;
    
    			} finally {
    
    				// Closing the input stream will trigger connection release
    				reader.close();
    
    			}
    		}
    	}
    
    }
    

     

     

    也是一个GET请求的实例,因为里面reader.readLine(),只读了一行,所以显示只是第一行会被打印出来,如果加一个while循环就可以把整个页面打印出来!

     

    翻譯的不好,請見諒!

     

     

    分享到:
    评论

    相关推荐

      commons-httpclient-3.1jar包

      5. 连接管理:HttpClient 3.1引入了ConnectionManager接口,用于管理HTTP连接,包括连接的创建、复用和关闭。 三、使用步骤 1. 创建HttpClient实例:可以通过HttpParams配置参数,如超时时间、编码等。 2. 创建...

      HttpClient问题:The server failed to respond with a valid HTTP resp

      使用`MultiThreadedHttpConnectionManager`管理连接,并确保每个请求都有独立的HttpClient实例,或者对共享的HttpClient实例进行适当的同步,避免并发问题。 6. **HTTP协议特性**:服务器可能使用了chunked编码(一...

      httpclient-4.5.12-API文档-中文版.zip

      Maven坐标:org.apache.httpcomponents:httpclient:4.5.12; 标签:apache、httpcomponents、httpclient、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档...

      httpclient-4.5.13-API文档-中文版.zip

      Maven坐标:org.apache.httpcomponents:httpclient:4.5.13; 标签:apache、httpcomponents、httpclient、jar包、java、中文文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档...

      httpclient-4.5.13-API文档-中英对照版.zip

      Maven坐标:org.apache.httpcomponents:httpclient:4.5.13; 标签:apache、httpcomponents、httpclient、jar包、java、中英对照文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览...

      可用org.apache.commons.httpclient-3.1.0.jar.zip

      import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.HttpException; import org.apache.commons.httpclient.HttpStatus; import org.apache.commons.httpclient.methods....

      org.apache.commons.httpclient-3.1.jar

      - `RELEASE_NOTES.txt`:记录了该版本的发布说明,包括新特性、改进和已知问题。 - `LICENSE.txt`:包含了Apache Commons HttpClient的许可协议,它遵循Apache 2.0许可证,允许免费使用和修改源代码。 - `README.txt...

      commons-httpclient3.1.jar,commons-codec1.3.jar,commons-logging1.1.1.jar

      标题中的"commons-httpclient3.1.jar,commons-codec1.3.jar,commons-logging1.1.1.jar"指的是三个关键的Java库文件,它们是Apache HttpClient项目的一部分,用于在Java应用程序中实现HTTP通信。这些JAR(Java ...

      httpclient-4.5jar

      httpclient-4.5所需jar包,里面包含httpclient-4.5.jar等等10个必须的开发包。 1.commons-codec-1.9.jar 2.commons-logging-1.2.jar 3.fluent-hc-4.5.jar 4.httpclient-4.5.jar 5.httpclient-cache-4.5.jar 6....

      httpClient实例httpClient调用 http/https实例 忽略SSL验证

      这个实例主要涉及如何配置HttpClient来忽略SSL(Secure Socket Layer)验证,这对于在开发和测试环境中处理自签名证书或未认证的服务器非常有用。以下将详细介绍HttpClient的使用以及如何进行SSL验证的忽略。 首先...

      httpclient-4.5jar包

      《HttpClient 4.5详解与应用实践》 HttpClient是一个开源的Java库,由Apache软件基金会维护,主要用于在HTTP协议上实现客户端的通信。版本4.5是HttpClient的一个稳定版本,提供了许多增强的功能和优化,使其成为...

      httpclient-4.5.5-API文档-中文版.zip

      赠送jar包:httpclient-4.5.5.jar; 赠送原API文档:httpclient-4.5.5-javadoc.jar; 赠送源代码:httpclient-4.5.5-sources.jar; 包含翻译后的API文档:httpclient-4.5.5-javadoc-API文档-中文(简体)版.zip ...

      java.net.SocketException Connection reset 解决方法

      * Connection reset by peer:Connection reset by peer 是一种特殊的 SocketException,它发生在客户端和服务器端之间的连接断开后,导致连接的一端继续发送数据,引发该异常。 实践经验 通过实践经验,我们可以...

      HttpClientUtil:一个Http请求使用HttpClient访问服务器,我们也可以上传文件到服务器,比如文件或图片。它提供接口来更新你的上传进度

      - 创建 HttpClient 实例:首先,我们需要创建一个 HttpClient 实例,这可以通过 HttpClientBuilder 或直接使用 HttpClients.createDefault() 方法完成。 - 创建请求:然后,我们需要构造一个 HttpRequestBase 对象...

      ribbon-httpclient-2.2.5.jar

      ribbon-httpclient-2.2.5.jar

      httpClient组合包.zip

      此外,HttpClient还支持异步操作,可以在多线程环境中高效地处理并发请求。 2. **httpcore-4.4.12.jar**:这是HttpClient的核心库,包含了HTTP协议的基本组件,如连接管理、请求和响应模型、编码器和解码器等。...

      httpclient.zip

      1. 连接管理:HttpClient允许自定义连接池,通过ConnectionManager进行管理,提高性能和并发能力。 2. 请求重试:HttpClient支持自动重试策略,当请求失败时可以按照预设规则重新尝试。 3. 身份验证:通过...

      httpclient-4.5.jar

      在这个版本中,我们关注的是`httpclient-4.5.jar`,这是一个包含了HttpClient 4.5核心功能的Java库。这个库的发布日期为2016年7月19日,它提供了许多改进和新特性,旨在帮助开发者更高效、更稳定地构建网络应用程序...

      wechatpay-apache-httpclient:微信支付 APIv3 Apache HttpClient装饰器(decorator)

      wechatpay-apache-httpclient 概览 的扩展,实现了请求签名的生成和应答签名的验证。...implementation 'com.github.wechatpay-apiv3:wechatpay-apache-httpclient:0.2.2' Maven 加入以下依赖 <groupId>com.github.w

      最全最新httpclient4.3.3

      1. HttpClient:主接口,用于创建和执行HTTP请求。 2. HttpCore:基础的HTTP协议处理组件,负责连接管理和传输。 3. HttpClientContext:上下文对象,存储了请求和响应过程中的状态信息。 4. HttpRequestExecutor:...

    Global site tag (gtag.js) - Google Analytics