Java Web --- URL类

URI --->统一资源     

URL(URI+Location) ---> 统一资源定位
     https://hao.360.cn:80/s?ie=utf-8&src=hao_360so_b&shb=1&hsid=3b9182c6b595417b&q=IP
         1.https:// 协议
         2.hao.360.cn 存放资源的主机地址(域名)
         3.:80端口,http默认端口80
         4./s?ie=utf-8&src=hao_360so_b&shb=1&hsid=3b9182c6b595417b&q=IP 资源名(相对路径)
    创建URL对象
        构造方法1:URL(String spec) 绝对路径(自主解析)
        构造方法2:URL(URL context, String spec) 相对路径(自主解析)
        构造方法3:URL(String protocol, String host, int port, String file,
               URLStreamHandler handler) 分别设定
             常用方法
        "协议:"+url.getProtocol()
        "域名:"+url.getHost()
        "端口:"+url.getPort()
        "数据资源名:"+url.getFile()
        "相对路径:"+url.getPath()
        "锚点:"+url.getRef()//锚点#aa
        "参数:"+url.getQuery()//存在锚点返回null(当做锚点的一部分);不存在返回uname=lp
    通过流获取网页资源
        openStream     (返回InputStream)

获取网页内容

/**
 * 通过流获取网页内容
 */
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.URL;

public class URL02 {
	public static void main(String[] args) throws IOException {
		URL url = new URL("http://www.baidu.com");//访问主页(默认资源)
		//使用转换流解决乱码
				BufferedReader br = new BufferedReader(
						new InputStreamReader(
								url.openStream(),"utf-8")
						);
		//输出到文件
				BufferedWriter bw = new BufferedWriter(
						new OutputStreamWriter(
								new FileOutputStream("baidu.html"), "utf-8")
						);
				
				byte[] flush1 = new byte[1024];
				String msg = null;
				while((msg=br.readLine())!=null ){
					bw.append(msg);
					bw.newLine();
					
				}
				bw.flush();
				bw.close();
				br.close();
	}
}

 

你可能感兴趣的:(面向对象总结,Java,Web)