Существует ли относительно простой путь в Java, чтобы проверить, доступен ли домен или нет?
Мне нужен надежный метод, поэтому только проверяя, может ли связь быть установлена, недостаточно.
Здесь есть хороший Java-клиент Whois:
https://github.com/ethauvin/Whois
Вы можете запускать его из командной строки или напрямую взаимодействовать с ним:
// don't include the www
Whois.main(new String[] {"skytouch.com"});
Выполнение DNS поиска в домене - самое простое решение. Все доступные домены не будут иметь записей DNS, и большинство регистраторов присваивают DNS-запись по умолчанию при регистрации.
Поиск WHOIS будет вашим самым надежным решением, особенно за провайдером, который подделывает свой собственный сервер (со страницей "домен не найден", заполненной рекламой) для любого недостающего доменного имени.
Мы обнаружили, что в нашем случае причина этого была совершенно не связана с селеном - сам firefox просто имел проблемы, потому что он работал на машинах с недостаточным количеством ЦП и/или оперативной памяти. Мы обновили виртуальные машины (например, добавили больше оперативной памяти и ЦП), и проблема исчезла почти полностью.
-121--5044938-Вы можете использовать NAnt, в котором есть задача «msbuild», которая просто сделает это для вас. NAnt - отличный способ построения CI.
Домашняя страница NAnt Домашняя страница NAnt Contrib Ссылка на задачу MSBuild из NAnt Contrib
... библиотека contrib добавляет некоторые большие функциональные возможности, которых нет у vanilla NAnt. Это очень просто. Я включил фрагмент моего файла .build здесь, чтобы вы могли увидеть, как я использовал его:
<property name="DeployDestination" value="\\MyTestServerName\DestinationFolder"/>
<property name="Solution.Configuration" value="Debug" overwrite="True" />
<property name="nant.settings.currentframework" value="net-3.5" />
<if test="${WebContentDestination=='Production'}">
<property name="DeployDestination" value="\\MyProductionServer\DestinationFolder"/>
</if>
...<snip>
<target name="Build">
<msbuild project="SolutionFileName.sln">
<arg value="/p:Configuration=${Solution.Configuration}" />
</msbuild>
</target>
<target name="Deploy">
<copy todir="${DeployDestination}" flatten="true" >
<fileset>All files to copy</fileset>
</copy>
</target>
-121--2650675- Доступность домена зависит от наличия whois клиента. Вот ссылка на реализацию whois клиента в Java:
Вам нужно будет проанализировать результаты - и в зависимости от того, какой whois сервер вы используете, вы можете (будут) иметь различные форматы, которые возвращаются. Лучше всего заплатить за коммерческую услугу whois/registration, такую как OpenSRS. Они имеют обширный API, который можно использовать в качестве зарегистрированного реселлера. Вот документы API:
http://opensrs.com/resources/documentation/opensrs_xmlapi.pdf
HTH,
-aj