package 网络编程_186_URL_爬虫原理;
import java.net.MalformedURLException;
import java.net.URL;
/**
- URI:统一资源标识符,用来唯一的标识一个资源
- URL:统一资源定位器,它是一种具体的URI
- URL由四部分组成
- 1.协议:如http:
- 2.域名: 存放资源的主机域名,如www.baidu.com
- 3.端口: :80是http默认端口
- 4.资源文件名:(/之后的资源文件名)或者端口之后的文件名;它是相对路径
*URL: - 一.创建
-
URL(String spec)绝对路径构建
-
URL(URL contrxt,String spec)相对路径构建
*/
public class URLDemo01 {
public static void main(String[] args) throws MalformedURLException {
//绝对路径构建
URL url = new URL(“http://www.baidu.com:80/index.html#aa?uname=bjsxt”);//#aa锚点;相对于本网页index.html资源的跳转
//锚点是对内的;如第一章;第二章;?uname=bjsxt是参数与用户交互的
//方法;查看协议
System.out.println(“协议:”+url.getProtocol());
//查看主机名
System.out.println(“域名:”+url.getHost());
//查看端口
System.out.println(“端口:”+url.getPort());
//查看后面的资源
System.out.println(“后面的资源:”+url.getFile());
//查看相对路径
System.out.println(“相对路径:”+url.getPath());
//查看锚点
System.out.println(“锚点:”+url.getRef());//锚点
//查看参数
System.out.println(“参数:”+url.getQuery());//问号之后的参数;注意:存在锚点它就是空null;如果#aa不存在就返回uname=bjsxt
System.out.println("---------------------");
//相对路径构建
url = new URL("http://www.baidu.com:80/a/");
url = new URL(url,"b.txt");//相对路径
System.out.println(url.toString());
}
}
//结果-------------------------------------
协议:http
域名:www.baidu.com
端口:80
后面的资源:/index.html
相对路径:/index.html
锚点:aa?uname=bjsxt
参数:null
http://www.baidu.com:80/a/b.txt