Проверить доступность домена Java

есть ли относительно простой способ в Java проверить, доступен ли домен или нет?

Мне нужен надежный метод, поэтому только проверка того, можно ли сделать соединение, недостаточно.

4 ответов


здесь есть хороший клиент Whois Java:

https://github.com/ethauvin/Whois

вы можете запустить его из командной строки или взаимодействовать с ней напрямую:

// don't include the www        
Whois.main(new String[] {"skytouch.com"});

доступность домена зависит от наличия клиента whois. Вот ссылка на реализацию whois-клиента на Java:

Java Whois Клиент

вам нужно будет проанализировать результаты-и в зависимости от того, какой сервер whois вы используете, вы можете (будете) иметь различные форматы, которые возвращаются. Лучше всего заплатить за коммерческий whois / регистрационный сервис, такой как OpenSRS. Они имеют обширный API, который вы можете использовать в качестве зарегистрированного реселлера. Вот документы API:

http://opensrs.com/resources/documentation/opensrs_xmlapi.pdf

HTH,

- aj


другое решение-использовать Apache Commons lib. Упрощенный пример:

import org.apache.commons.net.whois.WhoisClient;

public String getWhois(String domainName){

    WhoisClient whois = new WhoisClient();

    whois.setConnectTimeout(10000);
    whois.setDefaultTimeout(10000);

    whois.connect("whois.verisign-grs.com", 43);

    String domainWhois = whois.query(domainName);

    whois.disconnect();

    return domainWhois;
}

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

список серверов Whois может быть найдено:

Если вы попытаетесь сделать ваши запросы параллельными, вы обязательно получите ответ whois "вы достигли настроенного предела скорости." или явное исключение в коде, поэтому вы должны повторять запросы после некоторого сна.


выполнение поиска DNS в домене является самым простым решением. Все доступные Домены не будут иметь записи DNS, и большинство регистраторов назначают запись DNS по умолчанию при регистрации.

WHOIS lookups будет вашим самым надежным решением, особенно за ISP, который подделывает свой собственный сервер (со страницей" домен не найден", заполненной объявлениями) для любого отсутствующего доменного имени.