"TL; DR: мне нужен источник для максимально возможного количества различных форматов вывода из запроса whois."
Нет, кроме случаев, когда вы используете какой-либо поставщик, который сделает это за вас. , с какими оговорками. Или, точнее, не существует чего-то опубликованного, поддерживаемого и исчерпывающего. Вы можете найти различные библиотеки, которые пытаются сделать это на разных языках, но ни одна из них не является полной, поскольку это в основном невыполнимая задача, особенно если вы хотите включить какие-либо TLD, такие как ccTLD (вы не создаете пространство ограничений в очень подробно, и на самом деле не говоря, что вы спрашиваете о данных доменного имени в whois или IP-адресах / данных ASN?).
Некоторые провайдеры, конечно, пытаются это сделать и предлагают вам абстрактный унифицированный API. Но зачем кому-то делиться своим внутренним секретом, то есть списком парсеров и так далее? Для этого нет никакого делового стимула. Что касается авторов библиотеки с открытым исходным кодом (я был одним из них в какой-то момент), это просто утомительно и абсолютно бесполезно просто обновлять ее навсегда со всеми новыми форматами и настройками для каждого реестра (пример боевого шрама: один регистратор в прошлом изменил свой вывод формат для каждого запроса! один запрос дал вам somefield: somevalue
, тогда как в следующий раз это было somefield:somevalue
или somefield somevalue
и т.д. c. Конечно, это только простой пример).
RF C 3912 указывала только транспортную часть, а не содержимое, поэтому появилось много случаев. В частности, в мире ccTLD каждый реестр является королем в своем королевстве, и он может свободно реализовывать все, что хочет, так, как он хочет. Также у протокола были серьезные ограничения (например, интернационализация, какая «кодировка», используемая для базовых данных), которые обходились разными способами (например, передача «параметров» в вашем запросе ... конечно, ни один из них не стандартизирован в в любом случае)
По крайней мере, там указан формат whois для gTLD: https://www.icann.org/resources/pages/approved-with-specs-2013-09-17-en#whois
Однако обратите внимание, что из-за GDPR были внесены изменения (см. https://www.icann.org/resources/pages/gtld-registration-data-specs-en/#temp -spe c), и в будущем будут внесены другие изменения.
Однако вы должны быть очень настойчивы, чтобы посмотреть на RDAP вместо whois.
RDAP - это теперь требование во всех реестрах и реестрах gTLD. Поскольку это JSON, он сразу решает проблему формата.
Его основные характеристики:
Вы можете найти различные библиотеки, выполняющие RDAP за вас (ссылки см. Ниже), но по сути это JSON через HTTPS, чтобы вы могли эмулировать простые случаи с помощью любой клиентской библиотеки HTTP.
Ведутся работы по исправлению некоторых недостающих / недостаточно точных деталей по RF C 7482 и 7483.
Также необходимо принять во внимание спецификации ICANN (опять же, только для gTLD конечно):
Обратите внимание, что правильно Теперь, даже если это является требованием ICANN, вы обнаружите множество отсутствующих или неисправных реестров gTLD или серверов RDAP регистраторов. Вы также найдете множество «отклонений» в ответах от того, что можно было бы ожидать в соответствии со спецификацией.
Я дал полную информацию по различным другим вопросам здесь, так что, возможно, посмотрите:
PS: философский вопрос на тему «Надеюсь, что есть простой» go здесь и скачай это » ответ. Надеюсь ... "потому что многие люди надеялись на это в прошлом и видят первоначальное замечание в начале. Давайте представим вас go вперед и создадим этот великолепный ресурс со всеми исчерпывающими деталями. Вы бы хотели просто поделиться им с кем-нибудь бесплатно? Ответ, вероятно, отрицательный, по очевидным причинам, поэтому то же самое происходило в прошлом для других, которые пошли тем же путем, что и вы, и, следовательно, результаты, которые теперь различные провайдеры предлагают вам более или менее эту услугу (вам нужно будет найти подробности о том, какие форматы анализируются, лимиты скорости, цены и т. д. * И реализовать это правильно. Тогда проблема формата решается раз и навсегда. Однако вышеперечисленные требования («каждый» + «правильно») не малы и могут произойти не «скоро». В частности, в ccTLD, где реестры никоим образом не обязаны какими-либо внешними силами (кроме давления рынка?) Внедрять RDAP вообще.