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、获取远程服务器的所有主机IP10 *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 * 根据域名获取主机服务器的IP39 * @param hostName 域名40 */41 public static void getIPByName(String hostName) {42 try {43 // 根据域名创建主机地址对象44 InetAddress addr = InetAddress.getByName(hostName);45 // 获取主机IP46 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 }
^_^