Это звучит как то, о чем следовало спросить раньше, и это вроде как есть, но я хочу получить локальное имя хоста и IP-адреса машины, даже если они не разрешаются через DNS (в Java).
I может получить локальные IP-адреса без разрешения путем итерации через NetworkInterfaces. getNetworkInterfaces ()
.
Любые ответы на этот вопрос, которые я нашел, указывают на использование getLocalHost ()
InetAddress localhost = java.net.InetAddress.getLocalHost();
hostName = localhost.getHostName();
, но это вызывает исключение UnknownHostException
, если имя хоста не разрешается через DNS.
Невозможно получить имя локального хоста без скрытого поиска DNS?
редактировать: получен IP-адрес 10.4.168.23
Исключением является java.net.UnknownHostException: cms1.companyname.com: cms1.companyname.com
(имя хоста изменено на псевдоанонимность), а файл hosts не содержит имени хоста. Но он знает свое имя хоста, поэтому я не уверен, почему я не могу его получить без генерации исключения.