inetAddress.getByName(address)unknownhostexception

mal*_*sen -2 java inetaddress unknown-host

getByName是在具有https://stackoverflow.com/questions之类的路径的链接上工作还是在链接中仅包含主机(https://stackoverflow.com)?

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

控制台说错误在这里:

            socket = new Socket(InetAddress.getByName(adr), port);
Run Code Online (Sandbox Code Playgroud)

在此先感谢您,英语不好,因为它不是我的母语,对此我们深表歉意。

use*_*751 7

InetAddress.getByName 查找名称(通常在DNS中)并返回相应的地址。

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

如果要解析URL(例如“ https://stackoverflow.com/questions ”)以获取主机名,则可以使用以下java.net.URL类:

String hostname = new URL("https://stackoverflow.com/questions").getHost();
System.out.println(hostname); // stackoverflow.com
Run Code Online (Sandbox Code Playgroud)