• Java访问网络url,获取网页的html代码


    在Java中,Java.net包里面的类是进行网络编程的,其中,java.net.URL类和java.net.URLConection类是编程者方便地利用URL在Internet上进行网络通信。有两种方法可以用来访问Internet。

    一是使用URL类的openStream()方法:

    openStream()方法与制定的URL建立连接并返回InputStream类的对象,以从这一连接中读取数据;

    openStream()方法只能读取网络资源。

    二是使用URL类的openConnection()方法:

    openConnection()方法会创建一个URLConnection类的对象,此对象在本地机和URL指定的远程节点建立一条HTTP协议的数据通道,可进行双向数据传输。类URLConnection提供了很多设置和获取连接参数的方法,最常用到的是getInputStream()和getOutputStream()方法。

    openConnection()方法既能读取又能发送数据。

    下面通过两个例子分别介绍两种方法:

    1.openStream()方法访问Internet

        下面的例子实现了访问http://www.baidu.com,获取其html代码:

    public class URLTest2 {
    	public static void main(String args[]) throws Exception {
    		try {
    			URL url = new URL("http://www.baidu.com");
    			InputStream in =url.openStream();
    			InputStreamReader isr = new InputStreamReader(in);
    			BufferedReader bufr = new BufferedReader(isr);
    			String str;
    			while ((str = bufr.readLine()) != null) {
    				System.out.println(str);
    			}
    			bufr.close();
    			isr.close();
    			in.close();
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    	}
    }

        上例首先创建对象url,并通过url.openStream()方法打开输入流获取InputStreamReader对象,再由此对象创建BufferedReader对象bufr,从bufr中读取数据即可得到url所指定的资源文件。

    2.openConnection()方法访问Internet

       下面的例子实现了访问http://www.baidu.com,获取其html代码:

    public class URLTest {
    	public static void main(String[] args) {
    		try {
    			URL url = new URL("http://www.baidu.com");
    			URLConnection URLconnection = url.openConnection();
    			HttpURLConnection httpConnection = (HttpURLConnection) URLconnection;
    			int responseCode = httpConnection.getResponseCode();
    			if (responseCode == HttpURLConnection.HTTP_OK) {
    				System.err.println("成功"); 	
    				InputStream in = httpConnection.getInputStream();
    				InputStreamReader isr = new InputStreamReader(in);
    				BufferedReader bufr = new BufferedReader(isr);
    				String str;
    				while ((str = bufr.readLine()) != null) {
    					System.out.println(str);
    				}
    				bufr.close();
    			} else {
    				System.err.println("失败");
    			}
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    	}
    }

       上例首先创建对象url,并通过url.openConnection()方法获取URLConnection对象,并转换成HttpURLConnection对象,再由此对象的getInputStream()方法打开输入流获取InputStreamReader对象,然后由此对象创建BufferedReader对象bufr,从bufr中读取数据即可得到url所指定的资源文件。

  • 相关阅读:
    第五天——编码进阶(三)
    vue系列---------vuejs基础学习3.0
    前端随心记---------vuejs基础学习2.2
    前端随心记---------HTML5+CSS系列5.0
    前端随心记---------Ajax
    前端随心记---------前后端验证用户名案例(php,mysql结合)
    前端随心记---------MySQL
    前端随心记---------PHP
    vue系列---------vuejs基础学习2.1
    前端随心记---------HTML5+CSS系列4.0
  • 原文地址:https://www.cnblogs.com/weilunhui/p/3854249.html
Copyright © 2020-2023  润新知