Android基础——HTML网页源码的获取


关于HTML网页源码获取的案例网上也多的不行事儿,但是我还是苦逼的调了半天才调通,过程确实令人捉急。。。但是,问题的关键,是在于我没有添加permission而已,尼玛我看的那几个教程都木有人鸟permission啊,最后还是在百度文库上找了篇ppt发现的。。。

permission的添加灰常简单,但是简单却不简约……我是真心尝到了不加permission的苦……
在Androidmanifest.xml里添加以下两行就ok.
  <uses-permission android:name="android.permission.INTERNET"/>
 <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>

then.就口以添加关于抓取网页的代码了。主要就是俩函数,一个负责连接网页(testGetHtml()),一个用于读取源码(readStream()):
public static 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();
}

public static String testGetHtml(String urlpath) throws Exception {
URL url = new URL(urlpath);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setConnectTimeout(6 * 1000);
conn.setRequestMethod("GET");

if (conn.getResponseCode() == 200) {
InputStream inputStream = conn.getInputStream();
byte[] data = readStream(inputStream);
String html = new String(data);
return html;
}
return null;
}
不用太纠结具体咋回事,直接拿过去用绝对ok。当然这只是我等小草的追求。
用的时候注意URL要写全, testGetHtml("http://www.baidu.com/")这样即可。
源码会存在一个String变量中,怎么用就随便啦~
附读取源码后显示效果图一张:
Android基础——HTML网页源码的获取

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值