java 。 InetAddress.getLocalHost 返回奇怪的 IP

标签 java ip localhost host inetaddress

我不明白,为什么下面的代码打印 0.0.9.229 而不是 127.0.0.1。谁能告诉我,急于解决这个问题?

String ha = InetAddress.getLocalHost().getHostAddress();
System.out.println(ha);

更新: 在 Ubuntu 上运行的代码

/etc/主机

127.0.0.1       localhost
127.0.1.1       2533

最佳答案

InetAddress.getLocalHost() 并不像大多数人认为的那样。它实际上返回机器的主机名,以及与该主机名关联的 IP 地址。这可能是用于连接到外部世界的地址。它可能不会。这仅取决于您如何配置系统。

在我的 windowsbox 上,它获取机器名称和外部 ip 地址。在我的 linux 机器上它返回主机名和 127.0.0.1 因为我在/etc/hosts 中设置了它

关于 java 。 InetAddress.getLocalHost 返回奇怪的 IP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18488809/

相关文章:

java - 当 HTTP 响应内容类型不包含空格时测试 org.apache.http.entity.ContentType

Java Vector 在返回前被删除

c++ - 检查 IP 第一个八位字节是否不以 127/224 或 255 开头

xampp - 从Bluestacks访问XAMPP

testing - 移动网站测试本地主机

java - 获取字符串的像素

java - Selenium webdriver-获取性能日志-未知日期时间戳(12345.12345)

header - 为 Arduino 以太网上传出的 UDP 数据报设置 IP 数据包的生存时间 (TTL)

ASP.NET:在提交时存储用户信息

macos - 无法在MacOS-Sierra上启动XAMPP Apache服务器