Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从Java获取本地主机IP(127.0.0.1)_Java_Linux_Windows_Networking_Ip - Fatal编程技术网

如何从Java获取本地主机IP(127.0.0.1)

如何从Java获取本地主机IP(127.0.0.1),java,linux,windows,networking,ip,Java,Linux,Windows,Networking,Ip,我需要在Windows“幕后”公司DNS中获取127.0.0.1。我使用的代码是: import java.net.InetAddress; class IPAddressExample { public static void main(String args[]) throws Exception { InetAddress inetAddress = InetAddress.getLocalHost(); System.out.println("I

我需要在Windows“幕后”公司DNS中获取127.0.0.1。我使用的代码是:

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());
    }
}

在Linux中工作并显示127.0.0.1,但在Windows中显示DHCP提供的IP。我需要它,因为有一些测试可以检查。

我在Windows笔记本电脑上使用DHCP进行了测试,得到了127.0.0.1:

InetAddress.getByName("localhost").getHostAddress()

你能确认它是否确实显示了Windows中的公共IP地址吗?你已经有127.0.0.1了。为什么需要调用API来获取常量?如果需要环回地址,请使用而不是
getLocalHost()
NB,Windows的行为在这里是正确的。您的Linux配置错误,可能在
/etc/hosts
中。真正的主机名应该映射到真正的LAN地址,
localhost
应该映射到127.0.0.1。如果您想要与
localhost
相对应的IP地址,并且您不准备只使用
127.0.0.1
(尽管在Java中的大多数地方,您可以互换使用这两个地址),则应按照@R.Escalona的回答进行操作。注意:这可能是
../etc/hosts