我想写一个类,它将打印出作为InetAddress.getByName()参数提供的IP地址的实际主机名。但是每次运行程序时,IP地址都会打印在控制台上而不是主机名上。关于InetAdress.getByName()的困惑
这是我的输出:= 208.73.211.249
我会怎么做才能正确打印呢?
import java.net.*;
public class Inet1 {
public static void main(String[] args) throws UnknownHostException {
InetAddress ia=null;
ia=InetAddress.getByName("74.125.236.50");
System.out.print(ia.getHostName());
}
}
那么,这个方法的javadoc明确指出,这将返回一个主机名的IP地址;如果你提交一个IP地址,它会返回它... – fge
那么我需要做些什么来获取请求的IP地址的主机名? – arindrajit
最可靠的方法是使用DNS库 - 当然,前提是您使用DNS进行名称解析。 – fge