如何从Java中的IP地址获取URL?

时间:2016-01-31 06:25:34

标签: java url networking

我找到了从IP地址获取主机名的代码。代码如下所示:

import java.net.InetAddress;
import java.net.UnknownHostException;
public class GetHostName{
    public static void main(String a[]){
        try{
            InetAddress host = InetAddress.getByName("74.125.68.94");
            System.out.println(host.getHostName());
        }
        catch(UnknownHostException ex){
            ex.printStackTrace();
        }
    }
}

显示输出如:

sc-in-f94.1e100.net

但是当我通过浏览器解雇这个IP地址(74.125.68.94)时,它打开了谷歌网站。 所以我的问题是如何从IP地址中获取http://www.google.com之类的URL,而不是使用java显示 sc-in-f94.1e100.net

2 个答案:

答案 0 :(得分:4)

你不能这样做。

通常,可以在同一IP上访问多个域。你可以像你已经做的那样识别主机名。这是机器的名称,相当于为域提供服务的IP。

此外,IP只是一台机器的地址,它也可以服务于任何域名,因为它可以是网络服务器。

答案 1 :(得分:1)

你实际上做的一切都是正确的。问题是,今天许多主机名可以存在于同一台服务器上。这样,您可以轻松地将主机名转换为服务器的IP地址,但是当您尝试执行相反操作时,您只能获得服务器的名称,在这种情况下sc-in-f94.1e100.net

以下摘自hcidata

  

在互联网的早期,每个子域都有一个唯一的IP地址,因此主机通常只有一个子域名。如今,通常的做法是使许多子域具有相同的IP地址。将域名转换为运行www子域的主机的IP地址也很常见。

我希望这能为你解决问题。