我正在尝试填充Host标头。我已经为我的示例插入了虚拟数据,但我想知道我是否正确填充了该数据。当检查地址的值时,它似乎与我期望的不同。我期望使用[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


此类实现IP套接字地址(IP地址+端口号),也可以是一对(主机名+端口号),在这种情况下,将尝试解析主机名。


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

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

关于java - 如何正确填充InetSocketAddress,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/61084010/

10-11 15:01