zoukankan      html  css  js  c++  java
  • 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();
            }
        }
    
    }
  • 相关阅读:
    字符串的操作
    10.20 整理1
    if else; while; break;continue ----流程控制系列
    10.19 重新打了第一天的代码(课件))
    10.17
    svn,导入数据到版本库及使用工作副本
    mysql的反引号backtick
    css中的1px并不等于设备的1px
    onclick事件属性与在用js绑定onclick事件中的this的区别
    一次对CI框架update方法底层实现的探索之旅
  • 原文地址:https://www.cnblogs.com/daxin/p/3165097.html
Copyright © 2011-2022 走看看