<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 劍客阿飛 閱讀(552) | 評論 (0)編輯 收藏
     
    主站蜘蛛池模板: 免费无码A片一区二三区| 蜜臀AV免费一区二区三区| 免费在线观看一级毛片| 亚洲AV无码精品国产成人| 日韩中文字幕在线免费观看| 自拍偷自拍亚洲精品播放| 曰皮全部过程视频免费国产30分钟 | 足恋玩丝袜脚视频免费网站| 久久亚洲精品成人AV| 波多野结衣免费在线观看| 亚洲人成片在线观看| 韩国日本好看电影免费看| 国产天堂亚洲精品| 综合亚洲伊人午夜网 | 亚洲黄色网址在线观看| 亚洲免费视频网址| 亚洲老熟女五十路老熟女bbw| 日本免费一区尤物| 久久精品无码专区免费| 中文字幕亚洲综合久久| 四虎影院在线免费播放| sss在线观看免费高清| 亚洲一区二区三区首页 | www亚洲精品少妇裸乳一区二区| 一区二区三区免费在线观看| 亚洲AV无码专区国产乱码4SE| 国产91色综合久久免费分享| 亚洲av无码成人影院一区| 久久久久亚洲av成人无码电影 | 亚洲制服在线观看| 亚洲av再在线观看| 久99久精品免费视频热77| 亚洲午夜精品久久久久久app| 亚洲国产精品无码久久久久久曰| 久久国产乱子免费精品| 亚洲欧美日韩中文无线码| 久久精品国产亚洲精品| 99久久免费精品国产72精品九九| 国产黄色片免费看| 亚洲国产激情在线一区| 亚洲色精品aⅴ一区区三区|