[size=large]HttpClient简介[/size]
HttpClient是Apache Jakarta Common 下的子项目,用来提供高效的、最新的、功能丰富的支持HTTP协议的客户端编程工具包,并且它支持HTTP协议最新的版本和建议。
[size=large]HttpClient功能介绍[/size]
以下列出的是HttpClient提供的主要的功能:
1.实现了所有HTTP的方法(GET,POST,PUT,HEAD等)
2.支持自动转向
3.支持HTTPS协议
4.支持代理服务器等
更多功能可参见[url]http://wiki.apache.org/jakartahttpclient/HttpClientPowered[/url].
以下是实现代码:
HttpClient是Apache Jakarta Common 下的子项目,用来提供高效的、最新的、功能丰富的支持HTTP协议的客户端编程工具包,并且它支持HTTP协议最新的版本和建议。
[size=large]HttpClient功能介绍[/size]
以下列出的是HttpClient提供的主要的功能:
1.实现了所有HTTP的方法(GET,POST,PUT,HEAD等)
2.支持自动转向
3.支持HTTPS协议
4.支持代理服务器等
更多功能可参见[url]http://wiki.apache.org/jakartahttpclient/HttpClientPowered[/url].
以下是实现代码:
package com.httpclient;
import java.io.IOException;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpMethod;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
public class HttpClientTest{
private static final Log log = LogFactory.getLog(HttpClientTest.class);
public static void main(String[] args){
HttpClient httpClient=null;
HttpMethod method=null;
try{
//构造HttpClient实例,默认构造函数就已经够用了.
httpClient=new HttpClient();
// Get方法的调用
// GetMethod getMethod = new GetMethod("http://www.baidu.com");
// httpClient.executeMethod(getMethod);
// getMethod.getStatusCode();
// log.info("Message ->"+getMethod.getResponseBodyAsString());
//POST方法的调用
httpClient.getHostConfiguration().setHost("http://www.sina.com",80,"http");
method = getPostMethod();
int statusCode = httpClient.executeMethod(method);
log.debug("StatusCode->"+statusCode);
log.info("StatusLine->"+method.getStatusLine());
String msg = method.getResponseBodyAsString();
log.info("Message->"+msg);
}catch(IOException e){
log.info("IOException :" +e.getMessage());
}finally{
//无论怎样method都必须release.
if(method!=null) method.releaseConnection();
}
}
public static HttpMethod getPostMethod(){
PostMethod post = new PostMethod("/main.jsp");
//设置所需的参数
NameValuePair username=new NameValuePair("loginId","123");
NameValuePair password=new NameValuePair("password","123456");
post.setRequestBody(new NameValuePair[]{username,password});
return post;
}
}