java統(tǒng)一資源定位符URL
/**
* URL統(tǒng)一資源定位符Uniform Resource Locator
* ip代表網(wǎng)絡(luò)中的主機(jī),URL代表主機(jī)中的資源
* URL格式為: ?協(xié)議:域名:端口/資源
* 使用協(xié)議默認(rèn)的端口時(shí)可不寫端口號(hào)
*/
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學(xué)習(xí)");
? ? ? ? ? ?System.out.println(url.getDefaultPort());
? ? ? ? ? ?//.getDefaultPort()返回協(xié)議默認(rèn)端口號(hào),http協(xié)議默認(rèn)80端口,https協(xié)議默認(rèn)443端口
? ? ? ? ? ?System.out.println(url.getPort());
? ? ? ? ? ?//.getPort()返回URL對(duì)象中指定的端口,沒(méi)有指定端口會(huì)返回-1
? ? ? ? ? ?System.out.println(url.getFile());
? ? ? ? ? ?//.getFile()返回訪問(wèn)資源,結(jié)果為: ? /s?ie=utf-8&wd=java學(xué)習(xí)
? ? ? ? ? ?//在 域名:端口 后面的/xxx即資源
? ? ? ? ? ?System.out.println(url.getPath());
? ? ? ? ? ?//.getPath()返回訪問(wèn)資源的路徑,結(jié)果為: ? ?/s
? ? ? ? ? ?//路徑為主機(jī):端口下的路徑,在s后面的?為get請(qǐng)求的參數(shù),請(qǐng)求的資源是對(duì)/s設(shè)定?xxx參數(shù)的結(jié)果,但路徑是/s
? ? ? ? ? ?System.out.println(url.getQuery());
? ? ? ? ? ?//.getQuery()返回參數(shù)String,結(jié)果為:ie=utf-8&wd=java學(xué)習(xí)
? ? ? ? ? ?//即?問(wèn)號(hào)后面的內(nèi)容,query問(wèn)號(hào)
? ? ? ? ? ?System.out.println(url.getHost());
? ? ? ? ? ?//.getHost()返回主機(jī)名String,結(jié)果為:www.baidu.com
? ? ? ? ? ?System.out.println(url.getProtocol());
? ? ? ? ? ?//.getProtocol()返回協(xié)議String,結(jié)果為:https
? ? ? ? ? ?//protocol協(xié)議
? ? ? ?} catch (MalformedURLException e) {
? ? ? ? ? ?throw new RuntimeException(e);
? ? ? ?}
? ?}
}