IP測試類:
InetAddress 測試:
package ip; import java.net.InetAddress; import java.net.UnknownHostException; import java.util.Arrays; /** * java 中提供的兩個類 * InetAddress 獲取ip 能獲取端口?不能 * InetSocketAddress 獲取ip 和端口 * @author superdrew */ public class TestInetAddress { public static void main(String[] args) throws UnknownHostException { //獲取本機的ip地址和域名 InetAddress ia = InetAddress.getLocalHost(); System.out.println(ia.toString()); System.out.println(ia.getHostName());//域名 127 System.out.println(ia.getHostAddress());//ip地址 192.168.201.254 System.out.println(Arrays.toString(ia.getAddress()));//-64, -88, 6, -2(最高位是1) //獲取固定網址的ip和域名 InetAddress ia2 = InetAddress.getByName("www.baidu.com"); System.out.println(ia2.toString()); System.out.println(ia2.getHostName());//域名 127 System.out.println(ia2.getHostAddress());//ip地址 } }
結果展示:
IntSocketAddress.java測試類:
package ip; import java.net.InetSocketAddress; /** * InetSocketAddress 獲取ip和端口的 * @author superdrew * */ public class TestInetSocketAddress { public static void main(String[] args) { InetSocketAddress is = new InetSocketAddress("www.baidu.com", 1234); System.out.println(is.getHostName()); //獲取域名 System.out.println(is.getPort()); //獲取端口 System.out.println(is.getAddress()); //返回是一個InetAddress對象 } }
結果展示:
測試TestURL.java類:
package ip; import java.net.MalformedURLException; import java.net.URL; /** * URL * @author superdrew * */ public class TestURL { public static void main(String[] args) throws MalformedURLException { URL u = new URL("https://www.baidu.com:8080/index.html?username=superdrew"); /*System.out.println("獲取與此url關聯的協議的默認端口:"+u.getDefaultPort()); System.out.println("getFile:"+u.getFile()); //端口號后面的內容 System.out.println("主機名:"+u.getHost()); //www.google.cn System.out.println("路徑:"+u.getPath()); //端口號后,參數前的內容 System.out.println("端口:"+u.getPort()); //存在返回80.否則返回-1 System.out.println("協議:"+u.getProtocol()); System.out.println("參數部分:"+u.getQuery()); System.out.println("錨點:"+u.getRef()); */ System.out.println(u.getHost()); //獲取域名 System.out.println(u.getPort()); //端口 System.out.println(u.getProtocol()); //協議 System.out.println(u.getFile()); //路徑 System.out.println(u.getPath()); //路徑 //System.out.println(u.getRef()); //獲取錨點,#后面的 定位的 System.out.println(u.getQuery()); //獲取路徑內的參數內容 URL u2 = new URL("http://www.abc.com/aa/"); URL u3 = new URL(u2,"text.html"); //相對路徑構建url對象 往后追加 System.out.println(u3.toString()); //http://www.abc.com/aa/2.html } }
結果展示: