posts - 23,comments - 66,trackbacks - 0
          使用HTTP Client構建Web客戶端
          ?

          在你需要Web感知應用程序而Java API又不夠用的時候,你可能需要看一下Jakarta Common的HTTP Client。使用HTTP Client很簡單:首先創建一個HttpClient的實例,然后創建你需要使用的方法類型的一個實例,最后使用HttpClient的實例執行方法。


          下面是設計Web頁面并將其內容寫到標準輸出:

          ??? HttpClient client = new HttpClient();
          ??? GetMethod get = new GetMethod("

          ??? client.executeMethod(get);
          ??? System.out.println(get.getResponseBodyAsString());

          現在假設你需要使用基本的驗證機制來訪問一個頁面。在這種情況下,你需要使用HTTP Client類UsernamePasswordCredentials。下面是實現這一功能的代碼:

          ??? UsernamePasswordCredentials upc =
          ??????????? new UsernamePasswordCredentials("foo", "bar");

          ??? client.getState().setCredentials(null, null, upc);

          ??? get.setDoAuthentication(true);

          在下面的代碼中,我們為get方法添加一個超時規范以防頁面的裝載時間過長。

          client.setConnectionTimeout(60000);

          從示例代碼中我們已經看到了,使用HTTP Client的屬性相當簡單。如果你的應用程序需要HTTP訪問,那么就不妨試一下HTTP Client。它比Java API中的Web感知類具有更多的特性,而且它的用法簡單。自己看一下吧,看它是否能滿足你的要求。

          import java.io.IOException;
          import org.apache.commons.httpclient.HttpClient;
          import org.apache.commons.httpclient.UsernamePasswordCredentials;
          import org.apache.commons.httpclient.methods.GetMethod;

          public class HttpClientTip {
          ??? public static void main(String args[]) {
          ??????? try {
          ??????????? HttpClient client = new HttpClient();
          ??????????? GetMethod get = new GetMethod("

          ??????????? UsernamePasswordCredentials upc =
          ??????????????????? new UsernamePasswordCredentials("foo", "bar");

          ??????????? client.getState().setCredentials(null, null, upc);

          ??????????? get.setDoAuthentication(true);

          ??????????? client.setConnectionTimeout(60000);

          ??????????? client.executeMethod(get);
          ??????????? System.out.println(get.getResponseBodyAsString());
          ??????? }
          ??????? catch (IOException e) {
          ??????????? e.printStackTrace();
          ??????? }
          ??? }

          ?

          posted on 2006-03-21 23:20 rd2pm 閱讀(1060) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           

          主站蜘蛛池模板: 沭阳县| 农安县| 临邑县| 贡觉县| 西藏| 九寨沟县| 皋兰县| 怀来县| 邵阳县| 香港| 锦屏县| 泰和县| 招远市| 边坝县| 天柱县| 武胜县| 泸州市| 澄迈县| 淮滨县| 罗甸县| 韶关市| 舞钢市| 东阳市| 商河县| 任丘市| 榕江县| 梅州市| 讷河市| 堆龙德庆县| 龙州县| 土默特左旗| 汽车| 揭西县| 教育| 孝感市| 晋宁县| 新竹市| 宜州市| 黄平县| 陆良县| 泸定县|