如何正确填充 InetSocketAddress

How to properly populate InetSocketAddress

我正在尝试填充主机 header。我已经为我的示例插入了虚拟数据,但我想知道我是否正确填充了它。当检查 address 的值时,它似乎与我预期的不同。我希望 [domain]:[port] 但我看到 [domain]/[ip address]:[port]。这正常吗?

这是我使用的线路

InetSocketAddress address = new InetSocketAddress("sample.com", 8080);

这是之后的变量值:

address = {InetSocketAddress} sample.com/173.230.129.147:8080

谢谢

是的,这很正常。 InetSocketAddress 尝试自动将主机名解析为 IP 地址。

来自API specification

This class implements an IP Socket Address (IP address + port number) It can also be a pair (hostname + port number), in which case an attempt will be made to resolve the hostname.

如果要创建 InetSocketAddress 而不将主机名解析为 IP 地址,可以使用 createUnresolved 工厂方法。

jshell> InetSocketAddress.createUnresolved("example.com", 8080);
 ==> example.com:8080