Http POST方法得到www.g.cn的源码:
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.ParseException;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.protocol.HTTP;
import org.apache.http.util.EntityUtils;
public class PostSample {
public static void main(String[] args) throws ParseException, IOException {
String url = "http://www.g.cn/";
System.out.println(url);
System.out.println("Visit google using Apache commons-httpclient 3.1:");
List<NameValuePair> data3 = new ArrayList<NameValuePair>();
data3.add(new NameValuePair("username", "testuser"));
data3.add(new NameValuePair("password", "testpassword"));
System.out.println(post3(url, data3));
System.out.println("Visit google using Apache HttpComponents Client 4.0:");
List<BasicNameValuePair> data4 = new ArrayList<BasicNameValuePair>();
data4.add(new BasicNameValuePair("username", "testuser"));
data4.add(new BasicNameValuePair("password", "testpassword"));
System.out.println(post4(url, data4));
}
/** 使用Apache commons-httpclient 3.1,POST方法访问网页 */
public static String post3(String url, List<NameValuePair> data) throws IOException {
org.apache.commons.httpclient.HttpClient httpClient = new org.apache.commons.httpclient.HttpClient();
PostMethod postMethod = new PostMethod(url);
postMethod.setRequestBody(data.toArray(new NameValuePair[data.size()]));
try {
System.out.println("<< Response: " + httpClient.executeMethod(postMethod));
return postMethod.getResponseBodyAsString();
} finally {
postMethod.releaseConnection();
}
}
/** 使用Apache HttpComponents Client 4.0,POST方法访问网页 */
private static String post4(String url, List<? extends org.apache.http.NameValuePair> data)
throws ParseException, IOException {
org.apache.http.client.HttpClient client = new DefaultHttpClient();
HttpPost httpost = new HttpPost(url);
httpost.setEntity(new UrlEncodedFormEntity(data, HTTP.UTF_8));
try {
HttpResponse response = client.execute(httpost);
HttpEntity entity = response.getEntity();
System.out.println("<< Response: " + response.getStatusLine());
if (entity != null) {
return EntityUtils.toString(entity);
}
return null;
} finally {
client.getConnectionManager().shutdown();
}
}
}
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/inkfish/archive/2009/11/02/4757754.aspx
分享到:
相关推荐
在这个"**httpcomponents-client-4.0-bin-with-dependencies.zip**"压缩包中,包含了HttpClient 4.0版本以及其依赖项,使得开发者可以直接在项目中使用,无需单独管理依赖。 一、HttpClient简介 HttpClient是Apache...
此压缩包`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.tar`中,我们找到了Apache HttpClient的特定版本4.2.5的二进制分发包,它通常包含了一系列的JAR文件,用于支持网络爬虫和其他需要与HTTP服务器交互的应用程序。...
1. HttpClient:HttpClient是HTTPComponents的核心,它提供了一套完整的API来执行HTTP请求,包括GET、POST、PUT、DELETE等各种HTTP方法,以及支持HTTP/1.1和部分HTTP/2协议。 2. HttpCore:HttpCore是低级别的网络...
《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协议的...
在我们讨论的这个版本——"httpcomponents-client-4.0-beta2"中,我们将深入探讨它的重要特性、用法以及在实际开发中的应用。 HttpClient 4.0引入了许多改进,尤其是在性能和可配置性方面。Beta2版本虽未正式发布,...
《Apache HttpComponents Core 4.0:构建网络通信的基础》 Apache HttpComponents Core 4.0 是一个重要的Java库,它提供了对HTTP协议的强大支持,是开发者构建网络应用程序的基石。这个版本的发布,标志着...
这个库支持HTTP/1.1和部分HTTP/2协议,包括基本的HTTP方法如GET、POST、PUT、DELETE等,以及更复杂的特性如Cookie管理、重定向处理、连接池和SSL/TLS安全通信。 二、核心概念与组件 1. `CloseableHttpClient`:这...
《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.5.5-bin.zip"是一个HTTP客户端库的压缩包,源自Apache软件基金会的HTTP Components项目。这个版本(4.5.5)是专门为Java开发人员设计的,用于处理HTTP协议的客户端操作。它包含了...
HTTPComponents Client是Apache HttpClient的升级版,它主要由两个部分组成:Core模块和HttpClient模块。Core模块提供了基础的HTTP协议处理功能,而HttpClient模块则构建在其上,提供了更高级的HTTP客户端服务,如...
- `README.txt`:简要介绍了库的用途和使用方法,是快速入门的指南。 四、实例应用 下面是一个简单的使用HTTPComponents Client发送GET请求的例子: ```java CloseableHttpClient httpClient = HttpClients....
Apache HttpComponents Client 5.0.1是Apache软件基金会的开源项目,它继承了早期的HttpClient库,提供了一套完整的HTTP客户端API,支持HTTP/1.1和部分HTTP/2协议。这个库的核心优点在于其灵活性和可配置性,允许...
《Apache HttpClient 5.0详解:打造高效稳定的网络通信》 Apache HttpClient 是一个广泛使用的 Java 库,专门用于实现客户端的 HTTP 协议通信。在最新版本 5.0 中,它提供了许多改进和新特性,以提升网络请求的效率...
标题中的“httpcomponents-client-4.5.9-bin.zip”和“httpcomponents-core-4.4.11-bin.zip”指的是Apache HttpComponents项目的两个不同版本的二进制发行包。Apache HttpComponents是一个开源项目,提供了Java语言...
《Apache HttpComponents Client 4.1.2 源码解析》 Apache HttpComponents Client是Apache软件基金会的一个项目,它是HTTP客户端通信的核心组件,广泛应用于Java开发者中,为他们提供了强大的HTTP请求处理能力。这...
"httpcomponents-client-4.1.3-bin.zip"是该库的一个特定版本——4.1.3的二进制发行版,包含了所有必要的类库文件,使得开发者可以直接在项目中使用。 Apache HttpClient 4.1.3主要包含以下几个核心模块: 1. **...
《Apache HttpClient 4.2 Alpha1 源代码解析与应用》 Apache HttpClient 是一个流行的开源项目,由Apache软件基金会维护,它为Java开发者提供了一套强大的HTTP客户端接口。本篇将深入探讨"HTTPComponents-client-...
然而,需要注意的是,`commons-httpclient-3.1.jar`已经是较旧的版本,现代项目可能倾向于使用更新的Apache HttpClient库(如HttpClient 4.x或HttpComponents Client)或其它现代HTTP客户端,如OkHttp。