Linux下获取本机IP地址

xiaoxiao2021-03-01  27

可以用如下代码:

InetAddress inet = InetAddress.getLocalHost(); System.out.println("本机的ip=" + inet.getHostAddress());

 

 

在window下面可以工作。在Linux下返回127.0.0.1。主要是在linux下返回的是/etc/hosts中配置的localhost的ip地址,而不是网卡的绑定地址。后来改用网卡的绑定地址,可以取到本机的ip地址:)

代码如下:

//根据网卡取本机配置的IP Enumeration netInterfaces=NetworkInterface.getNetworkInterfaces(); InetAddress ip = null; while(netInterfaces.hasMoreElements()) { NetworkInterface ni=(NetworkInterface)netInterfaces.nextElement(); System.out.println(ni.getName()); ip=(InetAddress) ni.getInetAddresses().nextElement(); if( !ip.isSiteLocalAddress() && !ip.isLoopbackAddress() && ip.getHostAddress().indexOf(":")==-1) { System.out.println("本机的ip=" + ip.getHostAddress()); break; } else { ip=null; } }

 

转载请注明原文地址: https://www.6miu.com/read-3433724.html

最新回复(0)