У меня куча доменов (77) у разных регистраторов, таких как netsol, goDaddy и т. Д.
Я хочу получить дату истечения срока, регистранта и регистратора для каждого из них.
Поскольку у каждого есть собственная база данных WHOIS и другой формат вывода, я не могу отсортировать все данные. Есть ли какая-нибудь ТОП база данных WHOIS, которую я могу запросить, чтобы иметь одинаковый формат для всех доменов в моем списке и иметь возможность обрабатывать ее для получения нужной мне информации?
В настоящее время, особенно если вы работаете с gTLD, вам больше следует использовать RDAP, а не whois. Гораздо проще анализировать, потому что в результате получается неструктурированный текст в формате JSON. Не все регистраторы или реестры, даже в gTLD, и даже если это будет санкционировано ICANN с 26 августа этого года, могут иметь работающие и должным образом соблюдающие стандарты серверы RDAP, но они должны, и их количество может только увеличиваться.
Видеть https://about.rdap.org/ для начинающих или документацию ICANN: https://www.icann.org/rdap
В противном случае быстрый пример:
$ wget -qO - https://rdap.verisign.com/com/v1/domain/godaddy.com | jq '.events[] | select(.eventAction | contains("expiration")) | .eventDate'
"2021-11-01T11:59:59Z"
$ wget -qO - https://rdap.verisign.com/com/v1/domain/godaddy.com | jq '.entities[0].vcardArray[1][1][3]'
"GoDaddy.com, LLC"
$ wget -qO - https://rdap.verisign.com/com/v1/domain/godaddy.com | jq '.links[1].href'
"https://rdap.godaddy.com/v1/domain/GODADDY.COM"
$ wget -qO - https://rdap.godaddy.com/v1/domain/GODADDY.COM | jq '.events[] | select(.eventAction | contains("expiration")) | .eventDate'
"2021-11-01T06:59:59Z"
(но, конечно, в реальном коде вы не должны жестко кодировать позицию в массивах и тому подобном, вам необходимо правильно проанализировать вывод JSON).
В Библиотека whois на Ruby также включает стандартизированный анализатор ответов whois, который вы можете использовать для извлечения деталей из ответа whois.
Если вы не знаете Ruby или не хотите его использовать, доступно несколько сервисов. RoboWhois один из них.
Отказ от ответственности: я являюсь автором библиотеки whois Ruby и RoboWhois.
Это задача, которую многие люди сделали для своих систем мониторинга, чтобы гарантировать своевременное обновление доменов. Вы можете найти некоторые существующие плагины для Nagios по адресу обмен нагиос. Это должно помочь вам начать работу.
Нет никакой «главной базы данных whois», whois децентрализована и беспорядочная. Как вы узнаете, все эти инструменты (и инструмент, который вы неизбежно напишете сами) представляют собой длинные списки особых случаев.