<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    程序人生
    一個程序只做一件事,但要做好 一個類只提供一套服務,但要完善...........

    2008年8月14日

    因為項目的原因,使用到了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的內容

     1//將創建的xml生成String類型等待發送 
     2String strxml = CreateXML.creteCustomerXml(list);
     3//創建post發法的實例 
     4        PostMethod post = new PostMethod(
     5"http://127.0.0.1:8088/CustomerReceive");
     6// 使用系統提供的默認的恢復策略 
     7        post.getParams().setParameter(HttpMethodParams.RETRY_HANDLER,
     8new DefaultHttpMethodRetryHandler());
     9//設置發送的內容        
    10post.setRequestBody(strxml);
    11//對發送的內容長度進行設定 
    12if (strxml.length() < Integer.MAX_VALUE) {
    13            post.setRequestContentLength(strxml.length());
    14        }

    15else {
    16            post
    17                    .setRequestContentLength(EntityEnclosingMethod.CONTENT_LENGTH_CHUNKED);
    18        }

    19// 指定請求內容的類型 
    20        post.setRequestHeader("Content-type""text/xml; charset=utf-8");
    21//創建HttpClient 實例 
    22        HttpClient httpclient = new HttpClient();
    23int result;
    24try {
    25//執行post方法 
    26            result = httpclient.executeMethod(post);
    27//如果連接正常,獲得返回內容          
    28if (result == HttpStatus.SC_OK) {
    29                InputStream input = post.getResponseBodyAsStream();
    30                SAXReader readers = new SAXReader();
    31try {
    32                    Document document = readers.read(input);
    33                    System.out.println(document.asXML());
    34                }
     catch (DocumentException e) {
    35// TODO Auto-generated catch block 
    36                    e.printStackTrace();
    37                }

    38            }

    39        }
     catch (HttpException e) {
    40// TODO Auto-generated catch block 
    41            e.printStackTrace();
    42        }
     catch (IOException e) {
    43// TODO Auto-generated catch block 
    44            e.printStackTrace();
    45        }
     finally {
    46            post.releaseConnection();
    47        }

    48    }
    49
    posted @ 2008-08-14 14:50 劍客阿飛 閱讀(551) | 評論 (0)編輯 收藏
    僅列出標題  
     
    主站蜘蛛池模板: 国产免费AV片在线播放唯爱网| 国产成人亚洲精品播放器下载| 国产免费阿v精品视频网址| 国产亚洲精品看片在线观看| 野花视频在线官网免费1| 免费一级毛片在播放视频| 亚洲精品无码一区二区| 啦啦啦手机完整免费高清观看| 亚洲欧美成人综合久久久| 国产成人免费网站在线观看| 美女视频黄视大全视频免费的| 亚洲Av无码乱码在线观看性色 | 久久国产精品2020免费m3u8| 精品亚洲永久免费精品| 久久精品电影免费动漫| 亚洲日本视频在线观看| 免费A级毛片无码免费视| 亚洲妇女无套内射精| 亚洲电影日韩精品 | 亚洲理论片在线中文字幕| 成年人免费的视频| 亚洲妇女熟BBW| 亚洲国产精品成人一区| 青青操在线免费观看| 亚洲国产成人精品无码区在线秒播| 成视频年人黄网站免费视频| 日日摸日日碰夜夜爽亚洲| 亚洲午夜福利717| 日本最新免费网站| 亚洲精品永久在线观看| 亚洲日产无码中文字幕| av无码免费一区二区三区| 国产综合激情在线亚洲第一页| 亚洲免费观看视频| 欧亚精品一区三区免费| 一区二区三区精品高清视频免费在线播放 | 亚洲AV无码专区在线观看成人| 中文字幕亚洲激情| 美女被cao免费看在线看网站| 成年免费大片黄在线观看com| 亚洲AV成人一区二区三区AV|