2010-06-19 2 views
3

Можно ли определить имя хоста, используемое в java (даже через cname)?Определение имени хоста в java

Я ищу что-то похожее на это: http://api.drupal.org/api/function/conf_path/6

В этом коде Друпал проверяет, что доменное имя доступа к нему для того, чтобы загрузить правильную конфигурацию (на нескольких площадках). Если домен не соответствует каким-либо конфигурациям, он просто переходит в конфигурацию по умолчанию.

+0

Вы работаете в сервлете или какой тип соединения у вас есть? –

ответ

4

Посмотрите на InetAddress.getLocalHost(), а затем наберите getHostName() по возвращаемому значению, которое выполняет именно это.

Следует иметь в виду, что не все машины смогут разрешать сетевой интерфейс, который может использоваться для локального имени хоста, а также, что многопользовательские машины также сталкиваются с некоторыми дополнительными сложностями. Таким образом, если вы разрабатываете программное обеспечение, которое должно работать в самых разных ситуациях, рассмотрите краевые случаи правильно, а также счастливый путь.

1

Конечно, это вызывает обратный поиск DNS для каждого вызова getHostName().
Это штраф за исполнение на загруженных сайтах.
Я бы рекомендовал делать getHostAddress(), а затем искать имена хостов.

+0

этот процесс выполняется во время настройки, возможно * только один раз * при запуске веб-сервера. Я не вижу, как могут возникнуть проблемы с обратным DNS-поиском. –

Смежные вопросы