zoukankan      html  css  js  c++  java
  • android18

    【获取网页源码】

     1 package cn.itcast.htmlviewer;
     2 
     3 import cn.itcast.service.PageService;
     4 import android.app.Activity;
     5 import android.os.Bundle;
     6 import android.view.View;
     7 import android.widget.Button;
     8 import android.widget.EditText;
     9 import android.widget.TextView;
    10 import android.widget.Toast;
    11 
    12 public class MainActivity extends Activity {
    13     private EditText pathText;
    14     private TextView codeView;
    15     
    16     @Override
    17     public void onCreate(Bundle savedInstanceState) {
    18         super.onCreate(savedInstanceState);
    19         setContentView(R.layout.main);
    20         
    21         pathText = (EditText) this.findViewById(R.id.pagepath);
    22         codeView = (TextView) this.findViewById(R.id.codeView);
    23         Button button = (Button) this.findViewById(R.id.button);
    24         button.setOnClickListener(new ButtonClickListener());
    25     }
    26     
    27     private final class ButtonClickListener implements View.OnClickListener{
    28 
    29         public void onClick(View v) {
    30             String path = pathText.getText().toString();
    31             try{
    32                 String html = PageService.getHtml(path);
    33                 codeView.setText(html);
    34             }catch (Exception e) {
    35                 e.printStackTrace();
    36                 Toast.makeText(getApplicationContext(), R.string.error, 1).show();
    37             }
    38         }
    39         
    40     }
    41 }
    View Code
     1 package cn.itcast.service;
     2 
     3 import java.io.InputStream;
     4 import java.net.HttpURLConnection;
     5 import java.net.URL;
     6 
     7 import cn.itcast.utils.StreamTool;
     8 
     9 public class PageService {
    10     /**
    11      * 获取网页HTML源代码
    12      * @param path 网页路径
    13      * @return
    14      */
    15     public static String getHtml(String path) throws Exception{
    16         URL url = new URL(path);
    17         HttpURLConnection conn = (HttpURLConnection) url.openConnection();
    18         conn.setConnectTimeout(5000);
    19         conn.setRequestMethod("GET");
    20         if(conn.getResponseCode() == 200){
    21             InputStream inStream = conn.getInputStream();
    22             byte[] data = StreamTool.read(inStream);
    23             String html = new String(data, "UTF-8");
    24             return html;
    25         }
    26         return null;
    27     }
    28 
    29 }
    View Code
     1 package cn.itcast.utils;
     2 
     3 import java.io.ByteArrayOutputStream;
     4 import java.io.InputStream;
     5 
     6 public class StreamTool {
     7     /**
     8      * 读取流中的数据
     9      * @param inStream
    10      * @return
    11      * @throws Exception
    12      */
    13     public static byte[] read(InputStream inStream) throws Exception{
    14         ByteArrayOutputStream outStream = new ByteArrayOutputStream();
    15         byte[] buffer = new byte[1024];
    16         int len = 0;
    17         while( (len = inStream.read(buffer)) != -1){
    18             outStream.write(buffer, 0, len);
    19         }
    20         inStream.close();
    21         return outStream.toByteArray();
    22     }
    23 
    24 }
    View Code
  • 相关阅读:
    第八章
    第十章
    第九章
    第七章
    第六章
    第五章
    第四章心得
    第二章心得
    第三章心得
    第一章心得
  • 原文地址:https://www.cnblogs.com/Miami/p/3139197.html
Copyright © 2011-2022 走看看