首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过java获取本地IP地址

如何通过java获取本地IP地址
EN

Stack Overflow用户
提问于 2020-08-31 17:59:52
回答 1查看 137关注 0票数 0

这是我的ipconfig状态

以太网适配器以太网3:

代码语言:javascript
复制
Connection-specific DNS Suffix  . :
IPv6 Address. . . . . . . . . . . : 
**IPv4 Address. . . . . . . . . . . :** -> This I want to retrieve.
Subnet Mask . . . . . . . . . . . : 
Default Gateway . . . . . . . . . : ::

以太网适配器以太网:

代码语言:javascript
复制
Media State . . . . . . . . . . . : Media disconnected
Connection-specific DNS Suffix  . :

未知适配器本地连接:

代码语言:javascript
复制
Media State . . . . . . . . . . . : Media disconnected
Connection-specific DNS Suffix  . :

无线LAN适配器本地连接* 1:

代码语言:javascript
复制
Media State . . . . . . . . . . . : Media disconnected
Connection-specific DNS Suffix  . :

无线LAN适配器本地连接* 3:

代码语言:javascript
复制
Media State . . . . . . . . . . . : Media disconnected
Connection-specific DNS Suffix  . :

无线LAN适配器Wi-Fi:

代码语言:javascript
复制
Connection-specific DNS Suffix  . :
IPv6 Address. . . . . . . . . . . : 
Temporary IPv6 Address. . . . . . : 
Temporary IPv6 Address. . . . . . : 
Temporary IPv6 Address. . . . . . : 
Temporary IPv6 Address. . . . . . : 
Temporary IPv6 Address. . . . . . : 
Temporary IPv6 Address. . . . . . : 
Link-local IPv6 Address . . . . . : 
IPv4 Address. . . . . . . . . . . : 
Subnet Mask . . . . . . . . . . . : 
Default Gateway . . . . . . . . . : 

以太网适配器蓝牙网络连接:

代码语言:javascript
复制
Media State . . . . . . . . . . . : Media disconnected
Connection-specific DNS Suffix  . :

以太网适配器vEthernet (默认交换机):

代码语言:javascript
复制
Connection-specific DNS Suffix  . :
Link-local IPv6 Address . . . . . : 
IPv4 Address. . . . . . . . . . . : 
Subnet Mask . . . . . . . . . . . : 
Default Gateway . . . . . . . . . :

下面是我使用的代码片段

代码语言:javascript
复制
import java.net.InetAddress;
 
class IPAddressExample {

        public static void main(String args[]) throws Exception {
        InetAddress inetAddress = InetAddress.getLocalHost();
        System.out.println("IP Address:- " + inetAddress.getHostAddress());
        System.out.println("Host Name:- " + inetAddress.getHostName());
    }
}

这给了我127.0.0.1,但我需要本地ip(我加粗的那个)。尝试了许多在线解决方案,但都给出了127.0.0.1,而不是10.xx.xxx.xxx

任何针对此问题的解决方案

EN

回答 1

Stack Overflow用户

发布于 2020-08-31 18:14:03

使用以下代码遍历每个接口的IP地址。

代码来自this question

代码语言:javascript
复制
        Enumeration<NetworkInterface> e = NetworkInterface.getNetworkInterfaces();
        while(e.hasMoreElements())
        {
            NetworkInterface n = e.nextElement();
            Enumeration<InetAddress> ee = n.getInetAddresses();
            while (ee.hasMoreElements())
            {
                InetAddress i = ee.nextElement();
                // System.out.println(i.getHostAddress());
                // Do stuff here
            }
        }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63668674

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档