十六、从网络中获取网页数据
来源:互联网 发布:网络教育统考英语 编辑:程序博客网 时间:2024/06/04 19:07
从网络中获取网页数据时,网页有可能使用GZIP压缩技术对页面进行压缩,这样就会减小通过网络传输的数据量,提高浏览的速度。因此在获取网络数据时要对其进行判断,对GZIP格式的数据使用GZIPInputStream对其特殊处理,否则在获取数据可能出现乱码哦.
以下为网络中获取网页数据的案例代码
public class InternetTest2 {public static void main(String[] args) throws Exception{String result = ""; //URL url = new URL("http://www.sohu.com"); URL url = new URL("http://www.ku6.com/"); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setConnectTimeout(6* 1000);//设置连接超时 if (conn.getResponseCode() != 200) throw new RuntimeException("请求url失败"); InputStream is = conn.getInputStream();//得到网络返回的输入流 if("gzip".equals(conn.getContentEncoding())){ result = new InternetTest2().readDataForZgip(is, "GBK"); }else { result = new InternetTest2().readData(is, "GBK"); } conn.disconnect(); System.out.println(result); System.err.println("ContentEncoding: " + conn.getContentEncoding());}//第一个参数为输入流,第二个参数为字符集编码 public static String readData(InputStream inStream, String charsetName) throws Exception{ ByteArrayOutputStream outStream = new ByteArrayOutputStream(); byte[] buffer = new byte[1024]; int len = -1; while( (len = inStream.read(buffer)) != -1 ){ outStream.write(buffer, 0, len); } byte[] data = outStream.toByteArray(); outStream.close(); inStream.close(); return new String(data, charsetName); } //第一个参数为输入流,第二个参数为字符集编码 public static String readDataForZgip(InputStream inStream, String charsetName) throws Exception{ GZIPInputStream gzipStream = new GZIPInputStream(inStream); ByteArrayOutputStream outStream = new ByteArrayOutputStream(); byte[] buffer =new byte[1024]; int len = -1; while ((len = gzipStream.read(buffer))!=-1) { outStream.write(buffer, 0, len); } byte[] data = outStream.toByteArray(); outStream.close(); gzipStream.close(); inStream.close(); return new String(data, charsetName); }}
- 十六、从网络中获取网页数据
- 十六、从网络中获取网页数据
- 从网络中获取图片显示,获取网页源码
- Java 网络 URL 从网页上获取数据
- JAVA 网络 URL 从网页上获取数据 二
- 从网络获取数据
- 从网页中获取图片
- Android中从网络获取数据的方法
- volley源码解析(五)--NetworkDispatcher从网络中获取数据
- 使用NSJSONSerialization解析从网络中获取的数据
- 如何从网络中获取json数据信息
- 如何从网络中获取json数据信息(补)
- 从网络上获取数据
- iOS 从网络获取数据
- 从网络获取gson数据
- 网页爬虫--从网页中获取邮箱地址
- 从网络获取图片与网页
- 从网络上获取网页源代码
- sql 获取字符串长度SQL字符串操作汇总
- 【开源自动化测试疑难FAQ】【WebDriver】WebDriver启动时白屏挂起问题解决方法(二)
- 通过oracle存储过程发送邮件完成ETL监控
- 查看oracle表是否锁定
- CDHtmlDialog探索----WebBrowser扩展和网页Javascript错误处理
- 十六、从网络中获取网页数据
- debug的方法
- In app purchase 资料收集
- 2011-06-06 01:28 【转】(转)CClientDC和CDC的区别
- android hook API
- 二叉数
- 计算正方形的个数
- MFC实现类似qq的在屏幕右下角动画显示消息窗口 .
- 关于cookie作用域和session冲突问题