Java獲取電腦真實IP地址的示例代碼
更新時間:2020年09月28日 09:29:01 作者:H.U.C-王子
這篇文章主要介紹了Java如何獲取電腦真實IP地址,忽略虛擬機(jī)等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地址。
* 過濾虛擬機(jī)、藍(lán)牙等地址
* @author yins
* @date 2018年8月12日 下午9:53:58
*/
public class GetRealLocalIP {
/**
* 獲取本地真正的IP地址,即獲得有線或者無線WiFi地址。
* 過濾虛擬機(jī)、藍(lán)牙等地址
* @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地址的示例代碼的詳細(xì)內(nèi)容,更多關(guān)于Java獲取IP地址的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
SpringBoot實現(xiàn)全局異常的封裝和統(tǒng)一處理
在Spring Boot應(yīng)用中,全局異常的處理是一個非常重要的方面,本文主要為大家詳細(xì)介紹了如何在Spring Boot中進(jìn)行全局異常的封裝和統(tǒng)一處理,需要的可以參考下2023-12-12
Mybatis-Plus條件構(gòu)造器select方法返回指定字段方式
這篇文章主要介紹了Mybatis-Plus條件構(gòu)造器select方法返回指定字段方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-06-06
Spring AOP定義AfterReturning增加實例分析
這篇文章主要介紹了Spring AOP定義AfterReturning增加,結(jié)合實例形式分析了Spring面相切面AOP定義AfterReturning增加相關(guān)操作技巧與使用注意事項,需要的朋友可以參考下2020-01-01

