Java獲取獲取網絡IP,淺嘗輒止咯~
1 import java.net.InetAddress; 2 import java.net.UnknownHostException; 3 4 /** 5 * 獲取網絡IP 6 * 1、獲取本地的IP地址 7 * 2、獲取本機的服務器名稱 8 * 3、獲取遠程服務器的主機IP地址 9 * 4、獲取遠程服務器的所有主機IP 10 * 11 * 網絡編程: 12 * InetAddress 是用來封裝IP地址相關信息的類 13 * getLocalHost() 為本地主機創建IP對象 14 * getByName(host) 根據域名獲取服務器主機地址對象 15 * getAllByName(host) 為指定的一組同名的主機創建一個InetAddress對象數組 16 * 17 * Created by dsp on 2/25/15. 18 */ 19 public class InternetInfo { 20 21 /* 22 * 獲取本地主機IP地址 23 */ 24 public static void getLocalIP() { 25 // 創建本地主機IP地址對象 26 try { 27 InetAddress addr = InetAddress.getLocalHost(); 28 String hostAddr = addr.getHostAddress(); // 獲取IP地址 29 String hostName = addr.getHostName(); // 獲取本地機器名 30 System.out.println("本地IP地址:" + hostAddr); 31 System.out.println("本地的機器名稱:" + hostName); 32 } catch (UnknownHostException e) { 33 e.printStackTrace(); 34 } 35 } 36 37 /** 38 * 根據域名獲取主機服務器的IP 39 * @param hostName 域名 40 */ 41 public static void getIPByName(String hostName) { 42 try { 43 // 根據域名創建主機地址對象 44 InetAddress addr = InetAddress.getByName(hostName); 45 // 獲取主機IP 46 String hostAddr = addr.getHostAddress(); 47 System.out.println("域名為:" + hostName + "的主機IP地址:" + hostAddr); 48 } catch (UnknownHostException e) { 49 e.printStackTrace(); 50 } 51 } 52 53 /** 54 * 根據域名獲得主機所有的IP地址 55 * @param hostName 域名 56 */ 57 public static void getAllIPByName(String hostName) { 58 try { 59 InetAddress[] addrs = InetAddress.getAllByName(hostName); 60 String[] ips = new String[addrs.length]; 61 System.out.println("域名為:" + hostName + "的主機所有的IP地址為:"); 62 for(int i = 0; i < addrs.length; ++i) { 63 ips[i] = addrs[i].getHostAddress(); 64 System.out.println(ips[i]); 65 } 66 } catch (UnknownHostException e) { 67 e.printStackTrace(); 68 } 69 } 70 71 // 測試 72 public static void main(String[] args) { 73 String hostName = "www.baidu.com"; 74 getLocalIP(); 75 getIPByName(hostName); 76 getAllIPByName(hostName); 77 } 78 79 }
^_^