• Apache HttpComponents 获取inputStream


    package org.apache.http.examples.client;
    
    import java.io.IOException;
    import java.io.InputStream;
    
    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();
            try {
                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) {
                    InputStream instream = entity.getContent();
                    try {
                        instream.read();
                        // do something useful with the response
                    } 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 immediately.
                        httpget.abort();
                        throw ex;
                    } finally {
                        // Closing the input stream will trigger connection release
                        try { instream.close(); } catch (Exception ignore) {}
                    }
                }
    
            } finally {
                // When HttpClient instance is no longer needed,
                // shut down the connection manager to ensure
                // immediate deallocation of all system resources
                httpclient.getConnectionManager().shutdown();
            }
        }
    
    }
  • 相关阅读:
    rocketmq 修改broker和namesrv默认设置的堆内存大小
    linux 向文件中添加内容 sed
    页面 请求错误总结
    将pgsql中的所有表的序列当前值设置为所需的值
    pg 强制断开连接 删库
    测试的基本概念
    Linking(3)
    Linking(1)
    Linking(2)
    Nginx Learning (5)
  • 原文地址:https://www.cnblogs.com/daxin/p/3165097.html
Copyright © 2020-2023  润新知