专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »编程综合 » httpclient:HttpClient的简单使用 »正文

httpclient:HttpClient的简单使用

来源: 发布时间:星期四, 2009年1月15日 浏览:13次 评论:0
  使用场景:

  项目中有功能是需要和另个系统进行数据交换开始就考虑采用HttpUrlConnection连接远程地址发送流实现数据交换后来发现了HttpClient也就赖再写些连接所以就“拿来主义”了!

  安装:

  HttpClient使用需要 3个包分别是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、执行HttpClientexecute思路方法

  5、如果返回状态码正常表明连接成功可以读取response内容

//将创建xml生成String类型等待发送
Stringstrxml=CreateXML.creteCustomerXml(list);
//创建post发法例子
    PostMethodpost=PostMethod(
      "http://127.0.0.1:8088/CustomerReceive");
    //使用系统提供默认恢复策略
    post.getParams.Parameter(HttpMethodParams.RETRY_HANDLER,
        DefaultHttpMethodRetryHandler);
//设置发送内容    
post.RequestBody(strxml);
//对发送内容长度进行设定
    (strxml.length<Integer.MAX_VALUE){
      post.RequestContentLength(strxml.length);
    }
    {
      post
          .RequestContentLength(EntityEnclosingMethod.CONTENT_LENGTH_CHUNKED);
    }
    //指定请求内容类型
    post.RequestHeader("Content-type","text/xml;char=utf-8");
//创建HttpClient例子
    HttpClienthttpclient=HttpClient;
    result;
    try{
//执行post思路方法
      result=httpclient.executeMethod(post);
//如果连接正常获得返回内容     
      (resultHttpStatus.SC_OK){
        InputStreaminput=post.getResponseBodyAsStream;
        SAXReaderreaders=SAXReader;
        try{
          Documentdocument=readers.read(input);
          .out.prln(document.asXML);
        }catch(DocumentExceptione){
          //TODOAuto-generatedcatchblock
          e.prStackTrace;
        }
      }
    }catch(HttpExceptione){
      //TODOAuto-generatedcatchblock
      e.prStackTrace;
    }catch(IOExceptione){
      //TODOAuto-generatedcatchblock
      e.prStackTrace;
    }finally{
      post.releaseConnection;
    }
  }


  http://blog.csdn.net/jkafei/archive/2008/08/08/2787764.aspx

0

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: