inetAddress.getByName(地址) 未知主机异常

inetAddress.getByName(address) unknownhostexception

getByName 是否适用于 link 且路径类似于 https://whosebug.com/questions, or does the link have to include the host only(https://whosebug.com)?

当我使用包含“/”的 link 时出现 unknownHostException,关于如何解决该问题的任何提示?

控制台说错误在这里:

            socket = new Socket(InetAddress.getByName(adr), port);

提前致谢,抱歉英语不好,因为它不是我的母语。

InetAddress.getByName 查找名称(通常在 DNS 中)和 returns 对应的地址。

没有名为“https://whosebug.com/questions”的主机,因此抛出 UnknownHostException。
也没有名为“https://whosebug.com”的主机。
在此特定示例中,主机名是 "whosebug.com".

如果你想解析一个URL(比如“https://whosebug.com/questions”)来获取主机名,你可以使用java.net.URL class:

String hostname = new URL("https://whosebug.com/questions").getHost();
System.out.println(hostname); // whosebug.com