我无法通过网络获取主机名的IP。 我可以获得公共IP,但由于缺少协议,似乎无法通过网络工作:
public static void main(String[] args) throws UnknownHostException {
String url = "host22.my.network";
getIp(url);
}
public static void getIp(String url) throws UnknownHostException{
try {
InetAddress ip = InetAddress.getByName(new URL(url).getHost());
System.err.println(ip);
}
catch (MalformedURLException e) {
System.err.println(e.getMessage());
}
}
也许缺少协议前缀
答案 0 :(得分:1)
由于@ejp不再想要真正回答问题,因此他的意思是:
new URL(url).getHost()
是错误的。而是使用
InetAddress ip = InetAddress.getByName(url)
由于您实际上没有传递URL,因此将参数重命名为hostname
。