`
85977328
  • 浏览: 1898959 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

httpcomponents-client-4.2.4专业的HTTP客户端封装

 
阅读更多
   在Java领域,谈到网络编程,可能大家脑海里第一反应就是MINA,NETTY,GRIZZLY等优秀的开源框架。没错,不过在深入探究这些框架之前,我们需要先从最original的技术探究开始(当然,需要大家先熟悉java.net.*类库)。这里,我要和大家分享一下HttpComponents项目的部分组件特性。HttpClient,想必大家早都接触过了吧。HttpComponents和HttpClient的”血缘“有点像guava和google-collection的关系。目前,HttpComponents已经是Apache的顶级项目了,它旨在为我们提供一个Http协议相关的Java平台工具集。

package com.panguso.phl.release;

import java.util.ArrayList;
import java.util.List;

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;
import org.apache.http.util.EntityUtils;

public class TestPerformance {
    private static HttpClient client = new DefaultHttpClient();

    public static void main(String[] args) {
        List<String> query = new ArrayList<String>();
        query.add("z");
        query.add("zh");
        query.add("zho");
        query.add("zhon");
        query.add("zhong");
        for (String item : query) {
            try {
                HttpGet get = new HttpGet("http://search.panguso.com/searchword.htm?q=" + item);
                HttpResponse response = client.execute(get);
                System.out.println(EntityUtils.toString(response.getEntity()));
                get.releaseConnection();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
}



        HttpClient httpClient = new SystemDefaultHttpClient();
        HttpClientUtil.setMaxConnections(httpClient, 10000);
        HttpClientUtil.setMaxConnectionsPerHost(httpClient, 1000);
        HttpClientUtil.setConnectionTimeout(httpClient, 3000);
2
5
分享到:
评论
2 楼 85977328 2013-07-30  
clxy 写道
这段代码需要改进下。

try {  
    HttpGet get = new HttpGet("http://search.panguso.com/searchword.htm?q=" + item);  
    HttpResponse response = client.execute(get);  
    print(response);  
    get.releaseConnection();  
} catch (Exception e) {  
    e.printStackTrace();  
}  


改进版
HttpGet get = new HttpGet("http://search.panguso.com/searchword.htm?q=" + item);  
try {  
    HttpResponse response = client.execute(get);  
    print(response);  
} catch (Exception e) {
    get.abort();
    e.printStackTrace();  
} finally{
    get.releaseConnection();
}


那个print方法也需要处理资源的close,不如用HC自带的方法好。
System.out.println(EntityUtils.toString(response.getEntity()));  



非常感谢,学习了!!!! 有机会多多交流
1 楼 clxy 2013-07-30  
这段代码需要改进下。

try {  
    HttpGet get = new HttpGet("http://search.panguso.com/searchword.htm?q=" + item);  
    HttpResponse response = client.execute(get);  
    print(response);  
    get.releaseConnection();  
} catch (Exception e) {  
    e.printStackTrace();  
}  


改进版
HttpGet get = new HttpGet("http://search.panguso.com/searchword.htm?q=" + item);  
try {  
    HttpResponse response = client.execute(get);  
    print(response);  
} catch (Exception e) {
    get.abort();
    e.printStackTrace();  
} finally{
    get.releaseConnection();
}


那个print方法也需要处理资源的close,不如用HC自带的方法好。
System.out.println(EntityUtils.toString(response.getEntity()));  

相关推荐

    httpclient-4.5所需jar包 httpcomponents-client-4.5.12-bin.zip

    此压缩包`httpcomponents-client-4.5.12-bin.zip`包含了运行HTTPClient 4.5所需的多个JAR文件。 以下是这些JAR文件的功能和在HTTP通信中的作用: 1. **httpclient-4.5.12.jar**:这是主要的HTTPClient库,包含所有...

    httpcomponents-client-4.2.5-bin

    在"httpcomponents-client-4.2.5-bin"这个压缩包中,包含了实现HTTP协议的完整组件,对于开发网络爬虫、API调用以及其他需要网络交互的应用来说,它是不可或缺的工具。 一、HTTPComponents Client的核心功能 1. **...

    httpcomponents-client-4.5.5 jar包

    在Java开发中,HTTPComponents Client是常用于实现HTTP客户端请求的工具包,其版本4.5.5是一个广泛使用且稳定可靠的版本,具有丰富的功能和良好的性能。 一、HTTPComponents Client简介 HTTPComponents Client是...

    httpcomponents-client-4.5.9-bin.rar

    包括commons-codec-1.11.jar、commons-logging-1.2.jar、fluent-hc-4.5.9.jar、httpclient-4.5.9.jar、httpclient-cache-4.5.9.jar、httpclient-osgi-4.5.9.jar、httpclient-win-4.5.9.jar、httpcore-4.4.11.jar、...

    httpcomponents-client包下载

    在Java开发中,进行HTTP请求是常见的操作,Apache的HTTPComponents Client库提供了一套强大而灵活的API,用于处理HTTP客户端的交互。本篇文章将详细介绍HTTPComponents Client包及其核心组件HttpClient和HttpGet方法...

    httpcomponents-client-4.2.1 API CHM

    httpcomponents-client-4.2.1 API CHM开发文档,http Client开发。

    httpcomponents-client-4.5.9.zip

    import org.apache.http.client.ClientProtocolException; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpUriRequest; import org.apache....

    httpcomponents-client-4.5.3所需jar

    标题中的"httpcomponents-client-4.5.3所需jar"指的是Apache HttpComponents客户端库的一个特定版本,4.5.3。这个库是Java开发者用来构建HTTP客户端应用的重要工具,它提供了全面的功能来处理HTTP协议,包括GET、...

    httpcomponents-client-4.5.5-bin.zip

    标题中的"httpcomponents-client-4.5.5-bin.zip"是一个HTTP客户端库的压缩包,源自Apache软件基金会的HTTP Components项目。这个版本(4.5.5)是专门为Java开发人员设计的,用于处理HTTP协议的客户端操作。它包含了...

    httpcomponents-client-4.2.5

    httpcomponents-client-4.2.5httpcomponents-client-4.2.5httpcomponents-client-4.2.5httpcomponents-client-4.2.5httpcomponents-client-4.2.5httpcomponents-client-4.2.5httpcomponents-client-4.2.5...

    httpcomponents-client-5.0.1-bin.zip

    《Java HTTP客户端:Apache HttpComponents Client 5.0.1详解》 在Java开发中,进行HTTP请求操作是一项常见的任务,而Apache HttpComponents Client库提供了一种高效且强大的解决方案。这个库,具体版本为5.0.1,是...

    httpcomponents-client-4.5.1.zip

    总之,“httpcomponents-client-4.5.1.zip”为开发者提供了强大且易用的HTTP客户端工具,无论是进行简单的GET请求还是复杂的HTTP交互,HttpClient都能以高效、灵活的方式满足需求。它的存在,无疑让Java开发者在处理...

    httpcomponents-client.rar

    标题中的"httpcomponents-client.rar"指的是Apache HTTP Components的客户端库,这是一个广泛使用的Java库,用于处理HTTP协议。这个压缩包包含了多个组件,以便于开发者在Java应用程序中实现HTTP客户端功能。 描述...

    httpcomponents-client-4.5.12.zip

    本次我们聚焦于其客户端组件的4.5.12版本,通过解压缩文件"**httpcomponents-client-4.5.12.zip**",我们可以深入探讨这个库的核心功能和应用场景。 **一、HttpComponents Client概述** Apache HttpComponents ...

    org.apache.http相关jar包下载(httpcomponents-client-4.2.5-bin.tar)

    在标题提到的`httpcomponents-client-4.2.5-bin.tar`中,我们找到了Apache HttpClient的特定版本4.2.5的二进制分发包,它通常包含了一系列的JAR文件,用于支持网络爬虫和其他需要与HTTP服务器交互的应用程序。...

    httpcomponents-client-4.5.6.rar

    标题中的"httpcomponents-client-4.5.6.rar"是一个压缩包文件,它是Apache HttpComponents项目的客户端组件的一个版本,具体是4.5.6版。HttpComponents是Java领域中用于处理HTTP协议的重要库,它提供了对HTTP协议的...

    httpcomponents-client-4.1.2-src.zip

    这个开源库是基于HttpComponents-Core构建的,旨在提供高效、灵活且可扩展的HTTP客户端服务。在本文中,我们将深入探讨`httpcomponents-client-4.1.2`源码,了解其内部的工作机制和关键功能。 首先,我们来看...

    httpcomponents-client-4.2-alpha1-osgi-bin.tar.gz

    标题 "httpcomponents-client-4.2-alpha1-osgi-bin.tar.gz" 指的是一个开源项目 Apache HttpClient 的特定版本的二进制发行版,该版本是4.2 Alpha1,并且是为OSGi(Open Service Gateway Initiative)环境打包的。...

    httpcomponents-client-4.5.1

    "httpcomponents-client-4.5.1"是HttpComponents客户端组件的一个版本,包含了执行HTTP请求、处理响应以及管理连接池等功能。 在HttpComponents客户端4.5.1版本中,主要包含以下几个核心知识点: 1. **HttpClient*...

    httpcomponents-client-5.1-bin.zip

    HTTPComponents Client是Apache软件基金会开发的一个强大且灵活的Java HTTP客户端库,它为Java开发者提供了处理HTTP请求和响应的高效工具。这个库广泛应用于各种场景,包括网页爬虫、API交互、自动化测试等。在本文...

Global site tag (gtag.js) - Google Analytics