香蕉久久夜色精品,网址你懂得在线观看,中国人体摄影一区二区三区 http://www.aygfsteel.com/jiankeafei/一個程序只做一件事,但要做好 一個類只提供一套服務,但要完善........... zh-cnSun, 06 Jul 2025 08:45:48 GMTSun, 06 Jul 2025 08:45:48 GMT60HttpClient的簡單使用http://www.aygfsteel.com/jiankeafei/archive/2008/08/14/222003.html劍客阿飛劍客阿飛Thu, 14 Aug 2008 06:50:00 GMThttp://www.aygfsteel.com/jiankeafei/archive/2008/08/14/222003.htmlhttp://www.aygfsteel.com/jiankeafei/comments/222003.htmlhttp://www.aygfsteel.com/jiankeafei/archive/2008/08/14/222003.html#Feedback0http://www.aygfsteel.com/jiankeafei/comments/commentRss/222003.htmlhttp://www.aygfsteel.com/jiankeafei/services/trackbacks/222003.html因為項目的原因,使用到了HttpClient這個Apache又一個好用的包,這里就簡單的介紹下它的使用吧。

使用場景

            因為項目中有一功能是需要和另一個系統(tǒng)進行數(shù)據(jù)交換的,一開始就考慮采用HttpUrlConnection連接遠程地址,發(fā)送流實現(xiàn)數(shù)據(jù)交換。后來發(fā)現(xiàn)了HttpClient,也就賴的再寫一些連接的函數(shù)了,所以就“拿來主義”了!

安裝:

HttpClient的使用需要三個包,分別是commons-httpclient-3.1.jar、commons-logging-1.0.4.jar、commons-codec-1.3.jar,都可以在Apache的官網(wǎng)上下載。

使用:

            我們知道,HTTP協(xié)議的連接方法有GET、POST、PUT和HEAD方式,在創(chuàng)建Method實例的時候可以更具具體的方法來創(chuàng)建。HttpClient的使用一般分如下幾步:

            1、創(chuàng)建HttpClient實例。

            2、創(chuàng)建具體連接方法的實例。如POST方法創(chuàng)建PostMethod的實例,在實例化時從構造函數(shù)中傳入待連接的URL地址。

            3、對post的發(fā)送內容等信息進行配置

            4、執(zhí)行HttpClient的execute方法

            5、如果返回的狀態(tài)碼正常,表明連接成功,可以讀取response的內容

 1//將創(chuàng)建的xml生成String類型等待發(fā)送 
 2String strxml = CreateXML.creteCustomerXml(list);
 3//創(chuàng)建post發(fā)法的實例 
 4        PostMethod post = new PostMethod(
 5"http://127.0.0.1:8088/CustomerReceive");
 6// 使用系統(tǒng)提供的默認的恢復策略 
 7        post.getParams().setParameter(HttpMethodParams.RETRY_HANDLER,
 8new DefaultHttpMethodRetryHandler());
 9//設置發(fā)送的內容        
10post.setRequestBody(strxml);
11//對發(fā)送的內容長度進行設定 
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//創(chuàng)建HttpClient 實例 
22        HttpClient httpclient = new HttpClient();
23int result;
24try {
25//執(zhí)行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


劍客阿飛 2008-08-14 14:50 發(fā)表評論
]]>
主站蜘蛛池模板: 曲阜市| 团风县| 宝丰县| 宜宾市| 永善县| 都兰县| 永新县| 聂拉木县| 安陆市| 博客| 龙江县| 丰顺县| 贵南县| 定襄县| 利辛县| 武陟县| 龙山县| 漳浦县| 台安县| 克拉玛依市| 资兴市| 武陟县| 大庆市| 林周县| 竹山县| 莫力| 丰都县| 抚州市| 锦屏县| 固始县| 商洛市| 翁牛特旗| 云南省| 澳门| 福海县| 旺苍县| 蒲城县| 庄河市| 康平县| 磐石市| 准格尔旗|