Java獲取電腦真實(shí)IP地址的示例代碼
/** * @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地址,即獲得有線或者無(wú)線WiFi地址。 * 過(guò)濾虛擬機(jī)、藍(lán)牙等地址 * @author yins * @date 2018年8月12日 下午9:53:58 */public class GetRealLocalIP { /** * 獲取本地真正的IP地址,即獲得有線或者無(wú)線WiFi地址。 * 過(guò)濾虛擬機(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)接口,子接口,未運(yù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獲取電腦真實(shí)IP地址的示例代碼的詳細(xì)內(nèi)容,更多關(guān)于Java獲取IP地址的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!
相關(guān)文章:
1. Android如何加載Base64編碼格式圖片2. 詳解Android studio 動(dòng)態(tài)fragment的用法3. 解決Android studio xml界面無(wú)法預(yù)覽問(wèn)題4. 基于android studio的layout的xml文件的創(chuàng)建方式5. 圖文詳解vue中proto文件的函數(shù)調(diào)用6. Spring Boot和Thymeleaf整合結(jié)合JPA實(shí)現(xiàn)分頁(yè)效果(實(shí)例代碼)7. 什么是python的自省8. 使用Android studio查看Kotlin的字節(jié)碼教程9. Vuex localStorage的具體使用10. Vue封裝一個(gè)TodoList的案例與瀏覽器本地緩存的應(yīng)用實(shí)現(xiàn)

網(wǎng)公網(wǎng)安備