【Android Demo】获取指定网页的页面源代码
1.直接上效果图

2.代码
主要就是工具类HtmlService.java:
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL; /**
* 获取HTML数据
*
* @author David
*
*/
public class HtmlService { public static String getHtml(String path) throws Exception {
// 通过网络地址创建URL对象
URL url = new URL(path);
// 根据URL
// 打开连接,URL.openConnection函数会根据URL的类型,返回不同的URLConnection子类的对象,这里URL是一个http,因此实际返回的是HttpURLConnection
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
// 设定URL的请求类别,有POST、GET 两类
conn.setRequestMethod("GET");
//设置从主机读取数据超时(单位:毫秒)
conn.setConnectTimeout(5000);
//设置连接主机超时(单位:毫秒)
conn.setReadTimeout(5000);
// 通过打开的连接读取的输入流,获取html数据
InputStream inStream = conn.getInputStream();
// 得到html的二进制数据
byte[] data = readInputStream(inStream);
// 是用指定的字符集解码指定的字节数组构造一个新的字符串
String html = new String(data, "utf-8");
return html;
} /**
* 读取输入流,得到html的二进制数据
*
* @param inStream
* @return
* @throws Exception
*/
public static byte[] readInputStream(InputStream inStream) throws Exception {
ByteArrayOutputStream outStream = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int len = 0;
while ((len = inStream.read(buffer)) != -1) {
outStream.write(buffer, 0, len);
}
inStream.close();
return outStream.toByteArray();
} }
MainActivity.java 修改如下:
public class MainActivity extends Activity {
private String path = "http://www.cnblogs.com/yc-755909659/";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView textView = (TextView)this.findViewById(R.id.textView);
try {
String htmlContent = HtmlService.getHtml(path);
textView.setText(htmlContent);
} catch (Exception e) {
textView.setText("程序出现异常:"+e.toString());
}
}
}
activity_main.xml 很简单,还是放上来吧
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" > <TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content" /> </ScrollView>
最后,记得添加网络访问权限哦
<uses-permission android:name="android.permission.INTERNET"/>
【Android Demo】获取指定网页的页面源代码的更多相关文章
- Android遍历获取指定目录的文件
我们经常遇到一个问题,需要获取指定目录的某些扩展名的文件,并将其存在Vector中,怎么来实现呢? // 获取当前目录下所有的mp4文件 public static Vector<String& ...
- C#获取指定网页源码的几种方法
// WebClient private string GetWebClient(string url) { string strHTML = ""; WebClient myWe ...
- C#快速获取指定网页源码的几种方式,并通过字符串截取函数 或 正则 取指定内容(IP)
//只获取网页源码开始到标题位目的进行测试 //第一种方式经过测试,稍微快点 string url = "http://www.ip.cn"; HttpWebRequest req ...
- Android遍历获取指定目录的文件(转)
// 获取当前目录下所有的mp4文件 public static Vector<String> GetVideoFileName(String fileAbsolutePath) { Ve ...
- android 打开浏览器指定网页
<?xml version="1.0" encoding="utf-8"?> <!-- 定义当前布局的基本LinearLayout --> ...
- 【python】获取指定网页上的所有超级链接
# -*- coding: utf-8 -*- import urllib2 import re #connect to a URL website = urllib2.urlopen("h ...
- Python 网络爬虫与信息获取(二)—— 页面内容提取
1. 获取超链接 python获取指定网页上所有超链接的方法 links = re.findall(b'"((http|ftp)s?://.*?)"', html) links = ...
- Android 获取浏览器当前分享页面的截屏
Android 获取浏览器当前分享页面的截屏 版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 源码:AndroidDemo/BrowserScreenShotActivity 文中 ...
- Python 网络爬虫 009 (编程) 通过正则表达式来获取一个网页中的所有的URL链接,并下载这些URL链接的源代码
通过 正则表达式 来获取一个网页中的所有的 URL链接,并下载这些 URL链接 的源代码 使用的系统:Windows 10 64位 Python 语言版本:Python 2.7.10 V 使用的编程 ...
随机推荐
- *nix下传统编程入门之GCC
准备工作 注意:本文可能会让你失望,如果你有下列疑问的话:为什么要在终端输命令啊? GCC 是什么东西,怎么在菜单中找不到? GCC 不能有像 VC 那样的窗口吗?…… 那么你真正想要了解的可能是 a ...
- xshell下载文件到本地/上传文件到服务器
xshell很好用,然后有时候想在windows和linux上传或下载某个文件,其实有个很简单的方法就是rz,sz首先你的Ubuntu需要安装rz.sz(如果没有安装请执行以下命令,安装完的请跳过.其 ...
- [iOS] 使用xib作为应用程序入口 with IDE
[iOS] 使用xib作为应用程序入口 with IDE 在「使用xib做为应用程序入口 with Code」这篇文章中,介绍了如何透过写Code的方式,来使用xib做为应用程序的入口.但其实在Xco ...
- OS X 在Cisco无线环境下丢包分析 part 1
补发一篇博客,之前遇到的没有写成博文的一个情况.我擦,那一阵儿真是被无线搞疯了. 现象:苹果OS X用户连入WiFi之后莫名丢包,而且有规律的丢,丢个5s恢复正常,再过会儿再丢5s左右. 就如同这样 ...
- js的alert和confirm美化
--前言-- window对象的alert和confirm标准方法在不同浏览器的显示效果不太相同,有个相同点是都不是很美观.我们的想法是使用js和css分别仿照它们,提供另一套函数,使在不同浏览器的有 ...
- swift学习笔记之-闭包
//闭包 import UIKit /*闭包(Closures): 函数.闭包.类都是引用类型(引用类型的实例赋值给变量或常量时,得到的都是该实例的引用,而值类型的实例变量得到的是独立的值的拷贝) 1 ...
- ES6新特性(函数默认参数,箭头函数)
ES6新特性之 函数参数的默认值写法 和 箭头函数. 1.函数参数的默认值 ES5中不能直接为函数的参数指定默认值,只能通过以下的变通方式: 从上面的代码可以看出存在一个问题,当传入的参数为0或者 ...
- JavaScript中instanceof运算符的用法以及和typeof的区别
instanceof : 判断一个对象是否为某一数据类型,或一个变量是否为一个对象的实例:返回boolean类型栗子①: var aColors = ["red", "g ...
- 一个基于Myeclipse开发的Java打地鼠小游戏(Appletcation)
package javaes.zixue.wangshang.daima; 2 3 import java.awt.Cursor; import java.awt.Image; import java ...
- HTML5--Audio
一.Audio标签 Web 上的音频 直到现在,仍然不存在一项旨在网页上播放音频的标准. 今天,大多数音频是通过插件(比如 Flash)来播放的.然而,并非所有浏览器都拥有同样的插件. HTML5 规 ...