gpt4 book ai didi

java InetAddress.getLocalHost();返回 127.0.0.1 ...如何获得真实 IP?

转载 作者:行者123 更新时间:2023-11-29 09:10:29 25 4
gpt4 key购买 nike

我正在编写一个简单的网络应用程序。我需要知道我机器在网络上的真实 IP,比如 192.168.1.3 。 getLocalHost 返回 127.0.0.1(在 Linux 上,我不知道在 windows 上是否相同)。怎么做?

最佳答案

如果您真的想使用机器上的所有 IP 地址,您可以使用 NetworkInterface 类获得这些地址。当然,然后您需要实际使用哪个地址,但这会有所不同,具体取决于您使用它的目的,或者您可能需要扩展您使用它的方式来说明多个地址。

import java.net.*;
import java.util.*;

public class ShowInterfaces
{
public static void main(String[] args) throws Exception
{
System.out.println("Host addr: " + InetAddress.getLocalHost().getHostAddress()); // often returns "127.0.0.1"
Enumeration<NetworkInterface> n = NetworkInterface.getNetworkInterfaces();
for (; n.hasMoreElements();)
{
NetworkInterface e = n.nextElement();
System.out.println("Interface: " + e.getName());
Enumeration<InetAddress> a = e.getInetAddresses();
for (; a.hasMoreElements();)
{
InetAddress addr = a.nextElement();
System.out.println(" " + addr.getHostAddress());
}
}
}
}

关于java InetAddress.getLocalHost();返回 127.0.0.1 ...如何获得真实 IP?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12745676/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com