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 }
^_^
时间: 2024-09-30 08:28:40