我在一些帖子中尝试了几种方法来从IP(如facebook.com)获取实际的公共地址,但到目前为止我还没有成功。我一直在尝试以下代码来获取facebook的网址:
import java.net.InetAddress;
import java.net.UnknownHostException;
public class Main {
public static void main(String args[]) throws UnknownHostException {
InetAddress addr = InetAddress.getByName("31.13.76.68");
String host = addr.getHostName();
System.out.println(host);
}
}
但它归还给我的是:edge-star-mini-shv-01-sea1.facebook.com
。这是返回的CNAME吗?我使用getCanonicalHostName
得到了相同的结果。有些网站甚至返回公司地址,但没有提供与IP相关的实际公共地址的信息。有没有办法获得给定IP的实际公共地址?比如31.13.76.68会返回facebook.com,74.125.196.100
应该返回google.com
而不是yk-in-f100.1e100.net
,因为我正在处理我的案例。