是否有已知的 whois 查询输出格式列表?

Is there a listing of known whois query output formats?

TL;DR: 我需要一个来自 whois 查询的尽可能多的不同输出格式的来源。

背景:

我知道现有的工具可以很好地解析 whois(例如 python-whois),但是我想用奇怪的格式对冲我的赌注。我也对收集这些信息的可能方法持开放态度,但是这可能太宽泛而无法解决这个问题。

希望有一个简单的“到这里下载”答案。希望...

“TL;DR:我需要一个来自 whois 查询的尽可能多的不同输出格式的来源。”

没有,除非你使用任何类型的提供者为你做这件事,有任何警告。 或者更准确地说,没有 public 得到维护和详尽无遗的东西。您可以找到尝试使用各种语言执行此操作的各种库,但是 none 是完整的,因为这基本上是一项不可能完成的任务,尤其是如果您想包含任何 TLD,例如 ccTLD(您没有制定约束条件space 非常详细,实际上也不是真正在说您是在询问 whois 中的域名数据还是 IP addresses/ASN 数据?)。

一些供应商当然会尝试这样做并为您提供抽象制服 API。但是为什么有人会分享他们的内部秘方,即解析器列表等等?这样做没有任何商业动机。 至于开源库的作者(我曾经是其中之一),只是用所有新格式和每个注册表的调整永远更新它只是乏味而且绝对没有任何回报(战斗伤痕示例:过去的一个注册商改变了它的输出每次查询的格式!一个查询给你 somefield: somevalue,而下一次是 somefield:somevaluesomefield somevalue,等等。当然这只是一个简单的例子)。

RFC 3912只规定了传输部分,没有规定内容,因此出现了很多情况。特别是在 ccTLD 世界中,每个注册管理机构都是其王国中的国王,并且可以自由地以其想要的方式实施它想要的任何东西。此外,该协议有一些严重的限制(例如:国际化,用于基础数据的“字符集”是什么),这些限制以不同的方式被规避(例如在您的查询中传递“选项”......当然 none它们以任何方式标准化)

至少,那里指定了 gTLD 的 whois 格式: 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-spec),并且将来还会有其他变化。

但是,您应该非常迫切地希望查看 RDAP 而不是 whois。

RDAP 现在是所有 gTLD 注册管理机构和注册管理机构的一项要求。因为是JSON,直接解决格式问题

其核心规格为:

您可以找到各种为您执行 RDAP 的库(请参阅下面的链接),但其核心是 JSON 而不是 HTTPS,因此您可以使用任何类型的 HTTP 模拟简单情况客户端库。

正在努力修复 RFC 7482 和 7483 中一些 missing/not 足够精确的细节。

您还需要考虑 ICANN 规范(同样,当然只针对 gTLD):

请注意,现在,即使这是 ICANN 的要求,您也会发现很多 gTLD 注册管理机构或注册商 RDAP 服务器缺失或损坏。您还会发现许多与规范预期的回复“偏差”。

我在这里给出了其他各种问题的完整细节,所以也许看看:

PS:关于“希望有一个简单的‘去这里下载这个’答案的哲学问题。希望......”因为过去很多人都希望如此,并看到最初的评论开始时。让我们想象一下,您继续前进并使用所有详尽的细节构建这个宏伟的资源。您愿意免费与任何人分享吗?答案可能是否定的,原因很明显,因此过去与您走相同道路的其他人也发生过同样的情况,因此现在各种提供商或多或少地为您提供此服务的结果(您需要查找详细信息解析的格式、速率限制、价格等),但没有可免费分享的内容。

现在您可以 dream/hope 每个注册管理机构和注册商都切换到 RDAP 并且 正确实施它。那么格式的问题就一劳永逸了。不过,上述要求(“每一个”+“适当地”)并不小,可能不会“很快”发生。特别是在 ccTLD 中,任何外部力量(市场压力除外?)都不会强制注册管理机构实施 RDAP。