Cyh的博客

          Email:kissyan4916@163.com
          posts - 26, comments - 19, trackbacks - 0, articles - 220

          網絡編程>>HTTP客戶端

          Posted on 2009-12-12 15:48 啥都寫點 閱讀(258) 評論(0)  編輯  收藏 所屬分類: J2SE

                 java.net.URL類的openConnection方法連接HTTP服務器,得到一個HttpURLConnection對象,該對象的getHeaderFieldKey 和 getHeaderField 方法獲取服務器響應請求的頭信息。
                HttpURLConnection的getInputStream方法從該連接讀取的輸入流,即服務器上被請求的HTML文件的源代碼。

           

          /**
           * 訪問HTTP的客戶端。將網頁的內容顯示在控制臺中。這里得到的是一堆HTML代碼
           
          */

          public class HttpClient {
              
          //網址URL 
              String urlString;

              
          public static void main(String[] args) throws Exception {
                  
          // 第一個參數為網址
                  if (args.length != 1{
                      System.out.println(
          "Usage: java book.net.http.HttpClient url");
                      System.exit(
          1);
                  }

                  HttpClient client 
          = new HttpClient(args[0]);
                  client.run();
              }


              
          public HttpClient(String urlString) {
                  
          this.urlString = urlString;
              }


              
          public void run() throws Exception {
                  
          //生成一個URL對象 
                  URL url = new URL(urlString);
                  
          //打開URL 
                  HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
                  
          //打印頭信息 
                  System.out.println("THE HEADERS");
                  System.out.println(
          "-----------");
                  
          for (int i = 1;; ++i) {
                      String key;
                      String value;
                      
          if ((key = urlConnection.getHeaderFieldKey(i)) == null)
                          
          break;
                      
          if ((value = urlConnection.getHeaderField(i)) == null)
                          
          break;
                      System.out.print(key);
                      System.out.println(
          " is: " + value);
                  }

                  
          //得到輸入流,即獲得了網頁的內容 
                  BufferedReader reader = new BufferedReader(new InputStreamReader(urlConnection
                          .getInputStream()));
                  String line;
                  System.out.println(
          "-----CONTENT------");
                  
          // 讀取輸入流的數據,并顯示
                  while ((line = reader.readLine()) != null){
                      System.out.println(line);
                  }

              }

          }


                                                                                                                 --    學海無涯
                  

          主站蜘蛛池模板: 孟津县| 独山县| 玛曲县| 兴宁市| 英德市| 阿勒泰市| 平远县| 闻喜县| 廉江市| 乌什县| 普兰县| 洪湖市| 鹿泉市| 桂林市| 翁牛特旗| 城固县| 清远市| 拜城县| 永嘉县| 临城县| 开江县| 通辽市| 化州市| 巴彦淖尔市| 六安市| 澄城县| 枣强县| 莒南县| 吉水县| 青神县| 丽江市| 吴堡县| 高州市| 政和县| 比如县| 囊谦县| 大化| 青海省| 蚌埠市| 青田县| 昔阳县|