/**
* URL统一资源定位符Uniform Resource Locator
* ip代表网络中的主机,URL代表主机中的资源
* URL格式为: 协议:域名:端口/资源
* 使用协议默认的端口时可不写端口号
*/
public class TestURL {
public static void main(String[] args) {
try {
URL url = new URL("https://www.baidu.com:443/s?ie=utf-8&wd=java学习");
System.out.println(url.getDefaultPort());
//.getDefaultPort()返回协议默认端口号,http协议默认80端口,https协议默认443端口
System.out.println(url.getPort());
//.getPort()返回URL对象中指定的端口,没有指定端口会返回-1
System.out.println(url.getFile());
//.getFile()返回访问资源,结果为: /s?ie=utf-8&wd=java学习
//在 域名:端口 后面的/xxx即资源
System.out.println(url.getPath());
//.getPath()返回访问资源的路径,结果为: /s
//路径为主机:端口下的路径,在s后面的?为get请求的参数,请求的资源是对/s设定?xxx参数的结果,但路径是/s
System.out.println(url.getQuery());
//.getQuery()返回参数String,结果为:ie=utf-8&wd=java学习
//即?问号后面的内容,query问号
System.out.println(url.getHost());
//.getHost()返回主机名String,结果为:www.baidu.com
System.out.println(url.getProtocol());
//.getProtocol()返回协议String,结果为:https
//protocol协议
} catch (MalformedURLException e) {
throw new RuntimeException(e);
}
}
}