我需要使用 Java 从 Ubuntu 获取计算机 IP。我试过了,InetAddress.getLocalHost.getHostAddress().toString();
但它返回了127.0.0.1
。我正在寻找解决方案并发现了这段代码:
NetworkInterface ni = NetworkInterface.getByName("eth0");
Enumeration<InetAddress> inetAddresses = ni.getInetAddresses();
while(inetAddresses.hasMoreElements()) {
InetAddress ia = inetAddresses.nextElement();
if(!ia.isLinkLocalAddress()) {
System.out.println("IP: " + ia.getHostAddress());
}
}
}
这段代码对我有用,但问题是当计算机使用“eth1”接口或计算机可以使用无线适配器连接到网络(wlan0)时。在那种情况下,程序将失败。你们能告诉我从 UNIX 系统获取 IP 的安全方法吗?问候。