<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 劍客阿飛 閱讀(557) | 評論 (0)編輯 收藏
    僅列出標題  
     
    主站蜘蛛池模板: 成av免费大片黄在线观看| 国产成人免费网站在线观看| 亚洲精品A在线观看| 国产亚洲精品无码专区| 亚洲av不卡一区二区三区| 成人区精品一区二区不卡亚洲| 久久影视综合亚洲| 亚洲H在线播放在线观看H| 一区视频免费观看| 日本亚洲中午字幕乱码| 亚洲午夜国产精品无卡| a级毛片视频免费观看| 免费毛片在线播放| 亚洲综合中文字幕无线码| a毛片在线还看免费网站| 国产大片线上免费看| 久久亚洲国产最新网站| 一级毛片不卡片免费观看| 国产精品免费看久久久久| 亚洲欧洲日产专区| 99久久人妻精品免费二区| 亚洲免费观看视频| 一区二区三区视频免费观看| 国产成人青青热久免费精品| 亚洲人成无码网站在线观看| 成人免费福利视频| 亚洲国产成人资源在线软件| 99国产精品免费观看视频| 精品亚洲国产成AV人片传媒| 一区二区三区无码视频免费福利 | 一级看片免费视频囗交| 亚洲中文字幕无码专区| 亚洲AV无码乱码在线观看裸奔| 一区在线免费观看| 久久国产亚洲电影天堂| 在线观看免费av网站| 久久综合久久综合亚洲| 亚洲AV无码一区二三区 | 亚洲国产精品无码AAA片| 亚洲成av人片在线天堂无| 光棍天堂免费手机观看在线观看 |