我试图想出一种在 who-is 记录中系统地定位域到期日期的好方法。这是我目前的想法:
- 在 who-is 信息字符串中找到“Expir”(这适用于“Expiration”、“Expiry”和其他任何内容)。
- 在同一行中找到第一次出现的数字。
- 从字符串中扫描它的 Day-Month-Year,用破折号分隔它们。
我可以用这种方法发现的唯一问题是到期日期可能是任何顺序。还有一种可能性是,其中根本没有“Expir”的东西可以用于域的到期日期。
想法,程序员同胞?谢谢!
您遵循的方法不准确。没有标准,每个注册表都可以返回完全不同的过期日期字符串。在某些情况下,它甚至不匹配Expir
(例如某些 whois 响应包含Until
)。
如果您希望尽可能准确,则需要为每个 TLD 创建一个规则。
这是我为Ruby WHOIS库所遵循的方法。在这种情况下,我更进一步,为每个 TLD 编写了一个完整的解析器。