Java獲取電腦真實IP地址的示例代碼
更新時間:2020年09月28日 09:29:01 作者:H.U.C-王子
這篇文章主要介紹了Java如何獲取電腦真實IP地址,忽略虛擬機等IP地址的干擾,幫助大家更好的理解和使用Java,感興趣的朋友可以了解下
/** * @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(); // 去除回環(huán)接口,子接口,未運行和接口 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地址的資料請關注腳本之家其它相關文章!
相關文章
SpringBoot實現(xiàn)全局異常的封裝和統(tǒng)一處理
在Spring Boot應用中,全局異常的處理是一個非常重要的方面,本文主要為大家詳細介紹了如何在Spring Boot中進行全局異常的封裝和統(tǒng)一處理,需要的可以參考下2023-12-12Mybatis-Plus條件構造器select方法返回指定字段方式
這篇文章主要介紹了Mybatis-Plus條件構造器select方法返回指定字段方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-06-06Spring AOP定義AfterReturning增加實例分析
這篇文章主要介紹了Spring AOP定義AfterReturning增加,結合實例形式分析了Spring面相切面AOP定義AfterReturning增加相關操作技巧與使用注意事項,需要的朋友可以參考下2020-01-01