转载自邬贼博客,原文地址:http://blog.csdn.net/inkfish/archive/2009/11/02/4757380.aspx
Apache HttpComponents Client 4.0已经发布多时,httpclient项目从commons子项目挪到了HttpComponents子项目下,httpclient3.1和httpcilent4.0无法做到代码向后兼容,升级比较麻烦。我在做项目之余找时间研究了一下,写了一套3.1与4.0对比的代码,不求面面俱到,但求简单易懂。如果代码用到真实项目中,还需要考虑诸如代理、Header、异常处理之类的问题。
Http GET方法得到www.g.cn的源码:
import java.io.IOException;
import org.apache.commons.httpclient.HttpException;
import org.apache.commons.httpclient.HttpStatus;
import org.apache.commons.httpclient.methods.GetMethod;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.BasicResponseHandler;
import org.apache.http.impl.client.DefaultHttpClient;
public class GetSample {
/**
* @param args
* @throws IOException
* @throws HttpException
*/
public static void main(String[] args) throws HttpException, IOException {
String url = "http://www.g.cn/";
System.out.println(url);
System.out.println("Visit google using Apache commons-httpclient 3.1:");
System.out.println(get3(url));
System.out.println("Visit google using Apache HttpComponents Client 4.0:");
System.out.println(get4(url));
}
/** 使用Apache commons-httpclient 3.1,GET方法访问网页 */
public static String get3(String url) throws HttpException, IOException {
org.apache.commons.httpclient.HttpClient httpClient = new org.apache.commons.httpclient.HttpClient();
GetMethod getMethod = new GetMethod(url);
try {
if (httpClient.executeMethod(getMethod) != HttpStatus.SC_OK) {
System.err.println("Method failed: " + getMethod.getStatusLine());
}
return getMethod.getResponseBodyAsString();
} finally {
getMethod.releaseConnection();
}
}
/** 使用Apache HttpComponents Client 4.0,GET方法访问网页 */
public static String get4(String url) throws ClientProtocolException, IOException {
org.apache.http.client.HttpClient client = new DefaultHttpClient();
HttpGet httpget = new HttpGet(url);
try {
return client.execute(httpget, new BasicResponseHandler());
} finally {
client.getConnectionManager().shutdown();
}
}
}
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/inkfish/archive/2009/11/02/4757380.aspx
分享到:
相关推荐
在这个"**httpcomponents-client-4.0-bin-with-dependencies.zip**"压缩包中,包含了HttpClient 4.0版本以及其依赖项,使得开发者可以直接在项目中使用,无需单独管理依赖。 一、HttpClient简介 HttpClient是Apache...
1. **httpclient-4.5.12.jar**:这是主要的HTTPClient库,包含所有核心功能,如发起HTTP请求,处理响应,支持各种HTTP方法(GET、POST等),以及连接管理、重定向策略、身份验证机制等。 2. **httpcore-4.4.13.jar*...
在标题提到的`httpcomponents-client-4.2.5-bin.tar`中,我们找到了Apache HttpClient的特定版本4.2.5的二进制分发包,它通常包含了一系列的JAR文件,用于支持网络爬虫和其他需要与HTTP服务器交互的应用程序。...
本文将深入探讨"HTTPComponents-client-4.0-bin.tar.gz"这个压缩包中的核心概念、功能及使用方法。 首先,我们来看"HTTPComponents-client-4.0"这一版本。HTTPComponents客户端4.0是一个重要的里程碑,它引入了多项...
《Apache HttpComponents Client 4.2 Alpha1:深入解析与应用》 Apache HttpComponents Client是Apache软件基金会的一个项目,主要用于构建高效、灵活且可扩展的HTTP客户端应用。这个项目的4.2 Alpha1版本,即...
标题中的"httpcomponents-client-4.5.6.rar"是一个压缩包文件,它是Apache HttpComponents项目的客户端组件的一个版本,具体是4.5.6版。HttpComponents是Java领域中用于处理HTTP协议的重要库,它提供了对HTTP协议的...
《Apache HttpComponents Core 4.0:构建网络通信的基础》 Apache HttpComponents Core 4.0 是一个重要的Java库,它提供了对HTTP协议的强大支持,是开发者构建网络应用程序的基石。这个版本的发布,标志着...
《Apache HttpClient 4.1.2 OSGi版本详解》 Apache HttpClient是一个广泛使用的Java库,专门用于执行HTTP请求。这个“httpcomponents-client-4.1.2-osgi-bin.tar.gz”文件是HttpClient的一个特定版本——4.1.2,...
在我们讨论的这个版本——"httpcomponents-client-4.0-beta2"中,我们将深入探讨它的重要特性、用法以及在实际开发中的应用。 HttpClient 4.0引入了许多改进,尤其是在性能和可配置性方面。Beta2版本虽未正式发布,...
`httpcomponents-client-4.5.3`相较于早期版本,进行了多处优化和错误修复,提升了稳定性和性能。但需要注意的是,升级新版本时要考虑与现有代码的兼容性,以及可能引入的新特性和API变化。 总结,Apache ...
标题中的"httpcomponents-client-4.5.5-bin.zip"是一个HTTP客户端库的压缩包,源自Apache软件基金会的HTTP Components项目。这个版本(4.5.5)是专门为Java开发人员设计的,用于处理HTTP协议的客户端操作。它包含了...
HTTPComponents Client是Apache HttpClient的升级版,它主要由两个部分组成:Core模块和HttpClient模块。Core模块提供了基础的HTTP协议处理功能,而HttpClient模块则构建在其上,提供了更高级的HTTP客户端服务,如...
1. **网络爬虫**:在构建网络爬虫时,HTTPComponents Client可以帮助开发者高效地获取网页内容,处理登录、cookie、session等复杂情况。 2. **API接口调用**:对于需要调用RESTful API的应用,HTTPComponents ...
在本文中,我们将深入探讨HTTPComponents Client 5.1版本,了解其核心概念、功能特性以及使用方法。 首先,让我们看看`README.md`,这是项目的基本介绍文档。通常,它会包含项目的概述、安装指南、快速入门示例以及...
《Java HTTP客户端:Apache HttpComponents Client 5.0.1详解》 在Java开发中,进行HTTP请求操作是一项常见的任务,而Apache HttpComponents Client库提供了一种高效且强大的解决方案。这个库,具体版本为5.0.1,是...
import org.apache.http.client.fluent.*; public class proxy { public static void main(String[] args) throws Exception { HttpHost entry = new HttpHost("43.248.99.36", 62084); String resp= Executor....
《Apache HttpClient 4.2 Alpha1 源代码解析与应用》 Apache HttpClient 是一个流行的开源项目,由Apache软件基金会维护,它为Java开发者提供了一套强大的HTTP客户端接口。本篇将深入探讨"HTTPComponents-client-...
《Apache HttpComponents Client 4.2 Alpha1:深入解析与应用》 Apache HttpComponents Client是Apache软件基金会的一个项目,它是HTTP客户端应用开发的核心组件。这个版本4.2 Alpha1是HttpComponents Client的一个...
标题中的“httpcomponents-client-4.5.9-bin.zip”和“httpcomponents-core-4.4.11-bin.zip”指的是Apache HttpComponents项目的两个不同版本的二进制发行包。Apache HttpComponents是一个开源项目,提供了Java语言...