如何用Java代码准确获取电脑的网络真实IP地址?

2026-05-16 02:571阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计332个文字,预计阅读时间需要2分钟。

如何用Java代码准确获取电脑的网络真实IP地址?

java/** * 获取本地真实IP地址 */import java.net.Inet4Address;import java.net.InetAddress;import java.net.NetworkInterface;import java.net.SocketException;import java.util.Enumeration;

public class GetLocalRealIP { public static void main(String[] args) { try { Enumeration interfaces=NetworkInterface.getNetworkInterfaces(); while (interfaces.hasMoreElements()) { NetworkInterface networkInterface=interfaces.nextElement(); Enumeration addresses=networkInterface.getInetAddresses(); while (addresses.hasMoreElements()) { InetAddress address=addresses.nextElement(); if (address instanceof Inet4Address && !address.isLoopbackAddress()) { System.out.println(本地真实IP地址: + address.getHostAddress()); } } } } catch (SocketException e) { e.printStackTrace(); } }}

/** * @author yins * @date 2018年8月12日下午9:53:58 */ import java.net.Inet4Address; import java.net.InetAddress; import java.net.NetworkInterface; import java.net.SocketException; import java.util.Enumeration; /** * 获取本地真正的IP地址,即获得有线或者无线WiFi地址。 * 过滤虚拟机、蓝牙等地址 * @author yins * @date 2018年8月12日 下午9:53:58 */ public class GetRealLocalIP { /** * 获取本地真正的IP地址,即获得有线或者无线WiFi地址。 * 过滤虚拟机、蓝牙等地址 * @author yins * @date 2018年8月12日下午9:56:35 * @return */ public static String getRealIP() { try { Enumeration<NetworkInterface> allNetInterfaces = NetworkInterface .getNetworkInterfaces(); while (allNetInterfaces.hasMoreElements()) { NetworkInterface netInterface = (NetworkInterface) allNetInterfaces .nextElement(); // 去除回环接口,子接口,未运行和接口 if (netInterface.isLoopback() || netInterface.isVirtual() || !netInterface.isUp()) { continue; } if (!netInterface.getDisplayName().contains("Intel") && !netInterface.getDisplayName().contains("Realtek")) { continue; } Enumeration<InetAddress> addresses = netInterface .getInetAddresses(); System.out.println(netInterface.getDisplayName()); while (addresses.hasMoreElements()) { InetAddress ip = addresses.nextElement(); if (ip != null) { // ipv4 if (ip instanceof Inet4Address) { System.out.println("ipv4 = " + ip.getHostAddress()); return ip.getHostAddress(); } } } break; } } catch (SocketException e) { System.err.println("Error when getting host ip address" + e.getMessage()); } return null; } }

此代码中只要读取到了WiFi或者有线地址其中之一立即return。

以上就是Java获取电脑真实IP地址的示例代码的详细内容,更多关于Java获取IP地址的资料请关注易盾网络其它相关文章!

如何用Java代码准确获取电脑的网络真实IP地址?

本文共计332个文字,预计阅读时间需要2分钟。

如何用Java代码准确获取电脑的网络真实IP地址?

java/** * 获取本地真实IP地址 */import java.net.Inet4Address;import java.net.InetAddress;import java.net.NetworkInterface;import java.net.SocketException;import java.util.Enumeration;

public class GetLocalRealIP { public static void main(String[] args) { try { Enumeration interfaces=NetworkInterface.getNetworkInterfaces(); while (interfaces.hasMoreElements()) { NetworkInterface networkInterface=interfaces.nextElement(); Enumeration addresses=networkInterface.getInetAddresses(); while (addresses.hasMoreElements()) { InetAddress address=addresses.nextElement(); if (address instanceof Inet4Address && !address.isLoopbackAddress()) { System.out.println(本地真实IP地址: + address.getHostAddress()); } } } } catch (SocketException e) { e.printStackTrace(); } }}

/** * @author yins * @date 2018年8月12日下午9:53:58 */ import java.net.Inet4Address; import java.net.InetAddress; import java.net.NetworkInterface; import java.net.SocketException; import java.util.Enumeration; /** * 获取本地真正的IP地址,即获得有线或者无线WiFi地址。 * 过滤虚拟机、蓝牙等地址 * @author yins * @date 2018年8月12日 下午9:53:58 */ public class GetRealLocalIP { /** * 获取本地真正的IP地址,即获得有线或者无线WiFi地址。 * 过滤虚拟机、蓝牙等地址 * @author yins * @date 2018年8月12日下午9:56:35 * @return */ public static String getRealIP() { try { Enumeration<NetworkInterface> allNetInterfaces = NetworkInterface .getNetworkInterfaces(); while (allNetInterfaces.hasMoreElements()) { NetworkInterface netInterface = (NetworkInterface) allNetInterfaces .nextElement(); // 去除回环接口,子接口,未运行和接口 if (netInterface.isLoopback() || netInterface.isVirtual() || !netInterface.isUp()) { continue; } if (!netInterface.getDisplayName().contains("Intel") && !netInterface.getDisplayName().contains("Realtek")) { continue; } Enumeration<InetAddress> addresses = netInterface .getInetAddresses(); System.out.println(netInterface.getDisplayName()); while (addresses.hasMoreElements()) { InetAddress ip = addresses.nextElement(); if (ip != null) { // ipv4 if (ip instanceof Inet4Address) { System.out.println("ipv4 = " + ip.getHostAddress()); return ip.getHostAddress(); } } } break; } } catch (SocketException e) { System.err.println("Error when getting host ip address" + e.getMessage()); } return null; } }

此代码中只要读取到了WiFi或者有线地址其中之一立即return。

以上就是Java获取电脑真实IP地址的示例代码的详细内容,更多关于Java获取IP地址的资料请关注易盾网络其它相关文章!

如何用Java代码准确获取电脑的网络真实IP地址?