У меня есть несколько приложений, размещенных на разных серверах. Все приложения используют java 8. Я пробовал функцию java.net InetAddress.getLocalHost().getHostName(), чтобы получить имя хоста, это дает противоречивый результат для разных серверов. Для некоторых серверов я получаю имя хоста без имени домена и для некоторых FQDN. Мне нужен согласованный результат для всех приложений с одинаковым кодом. Я хочу сохранить усечение строки в качестве последнего варианта. Если в java доступна какая-то функция для получения только имени хоста (без имени домена), я хотел бы использовать функцию для получения согласованного результата во всех приложениях.
Нужно получить только имя хоста, а не полное доменное имя в java
Ответы (1)
Думаю, вы можете попробовать методы InetAddress.getCanonicalHostName() или InetAddress.getName(). Предполагая, что в вашей сети работает служба имен собственных, эти два должны помочь.
JavaDocs для getCanonicalHostName() а> говорит
Получает полное доменное имя для этого IP-адреса. Метод максимальных усилий, означающий, что мы не сможем вернуть полное доменное имя в зависимости от базовой конфигурации системы.
Поэтому, если вы хотите получить свое локальное полное доменное имя, вы обычно можете позвонить: InetAddress.getLocalHost().getCanonicalHostName()
person
ganeshbhargav
schedule
22.10.2020
Мне нужно только имя хоста, а не полное доменное имя. Мне нужно получить только имя хоста без имени домена.
- person Krishna; 23.10.2020