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

HttpClient的简单使用

阅读更多
因为项目的原因,使用到了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();
          }
       }
3
1
分享到:
评论
3 楼 shaka 2009-01-15  
post.setRequestBody(strxml); 


这代码都废弃了,还用。
2 楼 jiankeafei 2008-10-08  
aqining 写道

一次项目中使用过,蛮好玩的

是啊 关键是比较好用,且稳定!
1 楼 aqining 2008-08-27  
一次项目中使用过,蛮好玩的

相关推荐

    httpclient简单使用

    基于Java的httpclient简单使用,纯属学习使用,如发生问题,作者不负任何责任。有异议,请联系1218476693@qq.com。

    httpClient组件使用说明

    httpClient组件使用说明,搭建,所需jar包,简单应用,例子。适用于初级学员

    Httpclient使用jar包三合一,基本使用方法

    简单使用方法: public static void main(String[] args) { // String str1 = &quot;http://dev.d-smart.cn/Login&quot;; // http协议路径 String str1 = &quot;&quot;; HttpClient httpClient = new ...

    httpclient4.0 使用帮助、例子

    其中有4.1.1jar包、httpclient说明文档doc格式、简单使用例子post\get方式都有,导入类可用。项目中使用很方便!

    使用HttpClient下载图片

    HttpClient是个很不错的开源框架(org.appache.http),封装了访问http的请求头,参数,内容体,响应等等,使用起来更方面更强大。 HttpURLConnection是java的标准类,可以实现简单的基于URL请求、响应功能,什么都...

    使用 HttpClient 和 HtmlParser 实现简易网络爬虫

    使用 HttpClient 和 HtmlParser 实现简易网络爬虫

    HttpClient的简单使用,get、post、上传、下载

    HttpClient的简单使用,get、post、上传、下载。包含服务端和客户端代码

    HttpClient的简单demo

    这是一个android的HttpClient简单demo,实现了post与get两种方式,包括完整的客户端和服务器端程序,数据库采用的是MySql数据库,数据库部分请用户自己完成,都是最简单的,我已经测试通过,这是我一天的成果,参考...

    httpclient

    使用HttpClient发送请求、接收响应很简单,一般需要如下几步即可。 1. 创建HttpClient对象。 2. 创建请求方法的实例,并指定请求URL。如果需要发送GET请求,创建HttpGet对象;如果需要发送POST请求,创建...

    httpClient

    HttpClient httpClient = new HttpClient(); // 设置 Http 连接超时为5秒 httpClient.getHttpConnectionManager().getParams().setConnectionTimeout(5000); /* 2 生成 GetMethod 对象并设置参数 */ GetMethod ...

    HttpClientUtil.java

    java httpclient 进行的简单封装,方便大家对httpclient使用。

    使用 HttpClient 和 HtmlParser 实现简易爬虫

    使用 HttpClient 和 HtmlParser 实现简易爬虫

    jsoup+httpclient j简单爬虫

    jsoup+httpclient 简单爬虫,一个jsoup的简单爬虫实例

    httpclient入门

    httpclient入门非常好的资料,新手必备。

    httpclient 最简单 最详细 最入门 教程

    httpclient 最简单 最详细 最入门 教程

Global site tag (gtag.js) - Google Analytics