全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  千锋问问

java获取本机ip出现site怎么操作

问题描述:java获取本机ip出现site怎么操作

推荐答案 本回答由问问达人推荐

  要在Java中获取本机IP地址时,可以使用Java的NetworkInterface和InetAddress类来实现。下面是一种基本的方法:

Java教程

  import java.net.InetAddress;

  import java.net.NetworkInterface;

  import java.net.SocketException;

  import java.util.Enumeration;

  public class GetLocalIPAddress {

  public static void main(String[] args) {

  try {

  Enumeration interfaces = NetworkInterface.getNetworkInterfaces();

  while (interfaces.hasMoreElements()) {

  NetworkInterface iface = interfaces.nextElement();

  // 排除回环接口和未启用的接口

  if (iface.isLoopback() || !iface.isUp()) {

  continue;

  }

  Enumeration addresses = iface.getInetAddresses();

  while (addresses.hasMoreElements()) {

  InetAddress addr = addresses.nextElement();

  // 排除IPv6地址和site本地链接本地地址

  if (addr.isLinkLocalAddress() || addr.isLoopbackAddress() || addr.isSiteLocalAddress()) {

  continue;

  }

  System.out.println(addr.getHostAddress());

  }

  }

  } catch (SocketException e) {

  e.printStackTrace();

  }

  }

  }

   在上面的代码中,我们使用NetworkInterface.getNetworkInterfaces()方法获取所有网络接口的枚举,并遍历每个接口。然后,通过iface.isLoopback()和iface.isUp()方法排除回环接口和未启用的接口。接下来,我们使用iface.getInetAddresses()方法获取每个接口的IP地址,并遍历这些地址。最后,我们通过调用addr.getHostAddress()方法获取IPv4地址的字符串表示形式,并排除掉一些特殊的地址类型。

  请注意,这只是一种方法,可能无法覆盖所有情况。实际应用中,您可能需要根据您的需求进行适当的调整。

查看其它两个剩余回答
在线咨询 免费试学 教程领取