灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:2364回复:0

android学习笔记15---------获取网站html

楼主#
更多 发布于:2012-09-06 13:43


import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;

import junit.framework.TestCase;

import org.junit.Test;


public class Testinternet extends TestCase
{
     public byte[] readStream(InputStream inputStream) throws Exception
     {
         byte[] buffer=new byte[1024];
         int len=-1;
         ByteArrayOutputStream byteArrayOutputStream=new ByteArrayOutputStream();
        
         while((len=inputStream.read(buffer))!=-1)
         {
             byteArrayOutputStream.write(buffer,0,len);
         }
        
         inputStream.close();
         byteArrayOutputStream.close();
         return byteArrayOutputStream.toByteArray();
     }
     /**
      * 获取网址的html
      * @throws Exception
      */
     @Test public void testGetHtml() throws Exception
     {
         String urlpath="http://www.sina.com.cn/";
         URL url=new URL(urlpath);
         HttpURLConnection conn=(HttpURLConnection)url.openConnection();
         conn.setConnectTimeout(6*1000);  //设置链接超时时间6s
             //在Android系统中,如果超过组件的阻塞时间,组件会被系统回收。时间大约10s。
         conn.setRequestMethod("GET");

         if(conn.getResponseCode()==200)
         {
             InputStream inputStream=conn.getInputStream();
             byte[] data=readStream(inputStream);
             System.out.println(new String(data));
         }
     }
      
     /**
      * 获取网上图片
      * @throws Exception
      */
     @Test public void testGetImage() throws Exception
     {
         String urlpath="http://h1.qhimg.com/images/logo/search-logo.png";//网上图片的地址
         URL url=new URL(urlpath);
         HttpURLConnection conn=(HttpURLConnection)url.openConnection();
         conn.setConnectTimeout(6*1000);  //设置链接超时时间6s
             //在Android系统中,如果超过组件的阻塞时间,组件会被系统回收。时间大约10s。
         conn.setRequestMethod("GET");
         System.out.println(conn.getResponseCode());
         if(conn.getResponseCode()==200)
         {
             InputStream inputStream=conn.getInputStream();
             byte[] data=readStream(inputStream);
             File file=new File("logo.png");
             FileOutputStream fileOutputStream=new FileOutputStream(file);
             fileOutputStream.write(data);
             fileOutputStream.close();
         }
     }
}
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;

import junit.framework.TestCase;

import org.junit.Test;


public class TestInternet extends TestCase
{
  public byte[] readStream(InputStream inputStream) throws Exception
  {
   byte[] buffer=new byte[1024];
   int len=-1;
   ByteArrayOutputStream byteArrayOutputStream=new ByteArrayOutputStream();
  
   while((len=inputStream.read(buffer))!=-1)
   {
    byteArrayOutputStream.write(buffer,0,len);
   }
  
   inputStream.close();
   byteArrayOutputStream.close();
   return byteArrayOutputStream.toByteArray();
  }
  /**
   * 获取网址的html
   * @throws Exception
   */
  @Test public void testGetHtml() throws Exception
  {
   String urlpath="http://www.sina.com.cn/";
   URL url=new URL(urlpath);
   HttpURLConnection conn=(HttpURLConnection)url.openConnection();
   conn.setConnectTimeout(6*1000);  //设置链接超时时间6s
    //在Android系统中,如果超过组件的阻塞时间,组件会被系统回收。时间大约10s。
   conn.setRequestMethod("GET");

  if(conn.getResponseCode()==200)
   {
    InputStream inputStream=conn.getInputStream();
    byte[] data=readStream(inputStream);
    System.out.println(new String(data));
   }
  }

  /**
   * 获取网上图片
   * @throws Exception
   */
  @Test public void testGetImage() throws Exception
  {
   String urlpath="http://h1.qhimg.com/images/logo/search-logo.png";//网上图片的地址   URL url=new URL(urlpath);

  HttpURLConnection conn=(HttpURLConnection)url.openConnection();
  conn.setConnectTimeout(6*1000);  //设置链接超时时间6s
   //在Android系统中,如果超过组件的阻塞时间,组件会被系统回收。时间大约10s。
  conn.setRequestMethod("GET");
  System.out.println(conn.getResponseCode());
  if(conn.getResponseCode()==200)
  {
   InputStream inputStream=conn.getInputStream();
   byte[] data=readStream(inputStream);
   File file=new File("logo.png");
   FileOutputStream fileOutputStream=new FileOutputStream(file);
   fileOutputStream.write(data);
   fileOutputStream.close();
  }
}
}

假如我要获取网站的html用于我的手机开发,例如:




在控制台我们可以看到:




即我们成功获取。


喜欢0 评分0
游客

返回顶部