android查看网页源码,流数据
工具:
获取流数据
package com.glsite.htmlviewer;import java.io.ByteArrayOutputStream;
import java.io.InputStream;/*** 流的一个工具类,用来将输入流转换为文本* @author glsite.com* @version $Rev$* @des ${TODO}* @updateAuthor $Author$* @updateDes ${TODO}*/
public class StreamUtils {/*** 读取流的数据返回一个字符串* @param is* 获取的流* @return 字符串 如果解析失败返回null*/public static String readStream(InputStream is) {try {ByteArrayOutputStream baos = new ByteArrayOutputStream();int len = 0;byte[] buffer = new byte[1024];while ((len = is.read(buffer)) != -1) {baos.write(buffer, 0, len);}is.close();String result = baos.toString();if (result.contains("gb2312")) {return baos.toString("gb2312");} else if (result.contains("gbk")){return baos.toString("gbk");} else {return result;}} catch (Exception e) {e.printStackTrace();return null;}}
}
主程序:
package com.glsite.htmlviewer;import android.os.Handler;
import android.os.Looper;
import android.os.Message;
import android.os.SystemClock;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;public class MainActivity extends AppCompatActivity {private static final int LOAD_SUCCESS = 1;private static final int LOAD_ERROR = 2;private EditText mEtUrl;private TextView mTvResult;Handler mHandler = new Handler() {@Overridepublic void handleMessage(Message msg) {switch (msg.what) {case LOAD_SUCCESS:String text = (String) msg.obj;mTvResult.setText(text);break;case LOAD_ERROR:Toast.makeText(MainActivity.this,"加载失败, code:" + msg.obj, Toast.LENGTH_SHORT).show();break;default:break;}}};@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);mEtUrl = findViewById(R.id.et_url);mTvResult = findViewById(R.id.tv_result);}/*** 查看网页源码,访问网络的操作,1.声明权限,2.开启子线程* @param view*/public void viewHtmlSource(View view) {final String strUrl = mEtUrl.getText().toString().trim();if (TextUtils.isEmpty(strUrl)) {Toast.makeText(this,"url不能为空", Toast.LENGTH_SHORT).show();return;}new Thread(){@Overridepublic void run() {try {URL url = new URL(strUrl);HttpURLConnection conn = (HttpURLConnection) url.openConnection();int code = conn.getResponseCode();if (code == 200) {InputStream is = conn.getInputStream();String text = StreamUtils.readStream(is);// ctrl + qLooper.prepare();Toast.makeText(MainActivity.this,"test", Toast.LENGTH_SHORT).show();Looper.loop();System.out.println("here");
// mTvResult.setText(text);// 4.x throw exception Only the original thread that created a view
// Message msg = Message.obtain();
// msg.what = LOAD_SUCCESS;
// msg.obj = text;
// mHandler.sendMessage(msg);} else {Message msg = Message.obtain();msg.what = LOAD_ERROR;msg.obj = "code:" + code ;mHandler.sendMessage(msg);}} catch (Exception e) {e.printStackTrace();Message msg = Message.obtain();msg.what = LOAD_ERROR;msg.obj = -1;mHandler.sendMessage(msg);}}}.start();}
}
<uses-permission android:name="android.permission.INTERNET"/>
android查看网页源码,流数据相关推荐
- Mac OS使用技巧十九:Safari碉堡功能之二查看网页源码
因为大三下的时候选修了搜索技术,了解了网络上搜索引擎和网络爬虫的信息扒取的一些东西,后来我们做了一个比较水的东西,就是只扒取了几家较大的下载网站几十个软件的评分下载量等信息,当用户输入一个程 ...
- 手机浏览器查看网页源码
查看网页源码一直以为是pc端浏览器的功能,直到今天才直到手机浏览器也可以的,我用的是chrome手机浏览器,只需要在域前加view-source:即可. 比如:view-source:https:// ...
- Via浏览器怎么查看网页源码
Via浏览器怎么查看网页源码?Via浏览器是一款非常不错的手机主页浏览软件,该软件功能强大,除了基本的主页浏览之外,它还可以帮助用户进行在线资源的嗅探,并且还可以直接在手机上进行网页源码的查看.下面小 ...
- 关于审查元素与查看网页源码的区别
不知道大家发现没有,当我们用chrome浏览器打开任意一个网页,右键单击页面有两个很相似的选项 就是查看网页源代码以及检查(审查元素). 之前我一直认为这两个选项是没有什么区别的,但chrome既然列 ...
- 查看网页源码的编码格式
需求:解析网页数据时偶尔会出现乱码,这是由于编码格式不对导致的,这时我们就需要知道网页源码的编码方式 解决办法: 以http://stock.jrj.com.cn/2018/12/0400002544 ...
- 如何查看网页源码code、申请头headers等
1.打开想要查找的网页,按F12,显示源码(默认在network模块): 2.在左侧(如下图)填写comment,回车: 3.点击"name"栏中实体信息条目,右侧出现" ...
- 如何在手机上查看网页源码
如何在手机上查询网页的源代码 下载一个Via浏览器 在页面输入网址 进入后点击 点击工具箱 4. 点击源码 5. 还可以设置离线页面 6. 总结 还是用电脑舒服
- 邮件 查看html源码,程序员跟着大师源码学习系列之2:查看网页和电子邮件的源码...
在最近的文章中有大量电子邮件相关的内容,已经有不少同学上手发送了很多的邮件到我的测试邮箱中.坦率地说,有不少同学发送的电子邮件格式都是错误的 ... 那么抛开各种深奥地理论,有没有一种方法可以看看 1 ...
- MATLAB去读网页源码时中文乱码
MATLAB去读网页源码时中文乱码 防止获取的网页源码中文乱码 %设置网页的编码方式(必须首先知道网页的编码方式) options = weboptions('CharacterEncoding',' ...
最新文章
- 解决ModuleNotFoundError: No module named ‘numpy.core._multiarray_umath‘ 错误
- 键盘连击测试_测试梗欢迎补充
- 快速了解Bagging算法
- ABAP 并发执行的威力
- 032——VUE中表单控件处理之复选框的处理
- 揭秘Emotet恶意软件新变种幕后攻击者的运营模式
- 2022年前端自学全套路线总结(黑马版)
- SATA,SAS,SSD 读写性能测试结果
- AIDL中should be declared in a file错误
- armbian 安装python3
- #今日论文推荐# 将有色液体图像转换成透明液体,CMU教机器人准确掌控向杯中倒多少水
- word文档打不开的常见原因?好的处理方法
- 使用vue制作动画效果
- 十五万左右纯电SUV怎么选?奇瑞大蚂蚁是真香
- 【C语言笔记】【宏定义系列】 向下舍入到指定数值的倍数
- Java后端Cookie工具类(设置Cookie有效时间、得到Cookie的域名等方法)
- html圣诞快乐英文,圣诞快乐英语,圣诞快乐英语简写?
- 《Python基础教程》学习笔记——条件、循环及其他语句
- Buuctf -web wp汇总(三)
- write-up web source