程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> 采集-Java HTTP Client 抓取網頁,這個網頁無論用什麼編碼都是亂碼?

采集-Java HTTP Client 抓取網頁,這個網頁無論用什麼編碼都是亂碼?

編輯:編程綜合問答
Java HTTP Client 抓取網頁,這個網頁無論用什麼編碼都是亂碼?

http://www.licai.com/xuetang/CiDian.aspx?dj=1&type=&page=1

       client.executeMethod(get);
            //
            String statusText = get.getStatusText();
            //System.out.println("Test.main():--->" + statusText);
            System.out.println("Test.main():--->" + new String(get.getResponseBodyAsString().getBytes("GB2312"), "UTF-8"));

            InputStream in = get.getResponseBodyAsStream();
            BufferedReader br = new BufferedReader(new InputStreamReader(in, charset));
            String tempbf;
            html = new StringBuffer(100);
            while ((tempbf = br.readLine()) != null) {

                html.append(tempbf + "\n");

            }

代碼 大概就是這樣的

最佳回答:


        // 默認的client類。
        HttpClient client = new DefaultHttpClient();
        // 設置為get取連接的方式.
        HttpGet get = new HttpGet(url);
        // 得到返回的response.
        HttpResponse response = client.execute(get);
        // 得到返回的client裡面的實體對象信息.
        HttpEntity entity = response.getEntity();
        if (entity != null) {
            System.out.println( entity.getContentEncoding());
            System.out.println( entity.getContentType());
            // 得到返回的主體內容.
            InputStream instream = entity.getContent();
            BufferedReader reader = new BufferedReader(new InputStreamReader(instream, encoding));
            System.out.println(reader.readLine());
            // EntityUtils 處理HttpEntity的工具類
            // System.out.println(EntityUtils.toString(entity));
        }

        // 關閉連接.
        client.getConnectionManager().shutdown();
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved