因为项目的原因,使用到了HttpClient这个Apache又一个好用的包,这里就简单的介绍下它的使用吧。
使用场景:
因为项目中有一功能是需要和另一个系统进行数据交换的,一开始就考虑采用HttpUrlConnection连接远程地址,发送流实现数据交换。后来发现了HttpClient,也就赖的再写一些连接的函数了,所以就“拿来主义”了!
安装:
HttpClient的使用需要三个包,分别是commons-httpclient-3.1.jar、commons-logging-1.0.4.jar、commons-codec-1.3.jar,都可以在Apache的官网上下载。
使用:
我们知道,HTTP协议的连接方法有GET、POST、PUT和HEAD方式,在创建Method实例的时候可以更具具体的方法来创建。HttpClient的使用一般分如下几步:
1、创建HttpClient实例。
2、创建具体连接方法的实例。如POST方法创建PostMethod的实例,在实例化时从构造函数中传入待连接的URL地址。
3、对post的发送内容等信息进行配置
4、执行HttpClient的execute方法
5、如果返回的状态码正常,表明连接成功,可以读取response的内容
//将创建的xml生成String类型等待发送
String strxml = CreateXML.creteCustomerXml(list);
//创建post发法的实例
PostMethod post = new PostMethod(
"http://127.0.0.1:8088/CustomerReceive");
// 使用系统提供的默认的恢复策略
post.getParams().setParameter(HttpMethodParams.RETRY_HANDLER,
new DefaultHttpMethodRetryHandler());
//设置发送的内容
post.setRequestBody(strxml);
//对发送的内容长度进行设定
if (strxml.length() < Integer.MAX_VALUE) {
post.setRequestContentLength(strxml.length());
}
else {
post
.setRequestContentLength(EntityEnclosingMethod.CONTENT_LENGTH_CHUNKED);
}
// 指定请求内容的类型
post.setRequestHeader("Content-type", "text/xml; charset=utf-8");
//创建HttpClient 实例
HttpClient httpclient = new HttpClient();
int result;
try {
//执行post方法
result = httpclient.executeMethod(post);
//如果连接正常,获得返回内容
if (result == HttpStatus.SC_OK) {
InputStream input = post.getResponseBodyAsStream();
SAXReader readers = new SAXReader();
try {
Document document = readers.read(input);
System.out.println(document.asXML());
} catch (DocumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
} catch (HttpException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
post.releaseConnection();
}
}
分享到:
相关推荐
基于Java的httpclient简单使用,纯属学习使用,如发生问题,作者不负任何责任。有异议,请联系1218476693@qq.com。
httpClient组件使用说明,搭建,所需jar包,简单应用,例子。适用于初级学员
简单使用方法: public static void main(String[] args) { // String str1 = "http://dev.d-smart.cn/Login"; // http协议路径 String str1 = ""; HttpClient httpClient = new ...
其中有4.1.1jar包、httpclient说明文档doc格式、简单使用例子post\get方式都有,导入类可用。项目中使用很方便!
HttpClient是个很不错的开源框架(org.appache.http),封装了访问http的请求头,参数,内容体,响应等等,使用起来更方面更强大。 HttpURLConnection是java的标准类,可以实现简单的基于URL请求、响应功能,什么都...
使用 HttpClient 和 HtmlParser 实现简易网络爬虫
HttpClient的简单使用,get、post、上传、下载。包含服务端和客户端代码
这是一个android的HttpClient简单demo,实现了post与get两种方式,包括完整的客户端和服务器端程序,数据库采用的是MySql数据库,数据库部分请用户自己完成,都是最简单的,我已经测试通过,这是我一天的成果,参考...
使用HttpClient发送请求、接收响应很简单,一般需要如下几步即可。 1. 创建HttpClient对象。 2. 创建请求方法的实例,并指定请求URL。如果需要发送GET请求,创建HttpGet对象;如果需要发送POST请求,创建...
HttpClient httpClient = new HttpClient(); // 设置 Http 连接超时为5秒 httpClient.getHttpConnectionManager().getParams().setConnectionTimeout(5000); /* 2 生成 GetMethod 对象并设置参数 */ GetMethod ...
java httpclient 进行的简单封装,方便大家对httpclient使用。
使用 HttpClient 和 HtmlParser 实现简易爬虫
jsoup+httpclient 简单爬虫,一个jsoup的简单爬虫实例
httpclient入门非常好的资料,新手必备。
httpclient 最简单 最详细 最入门 教程