如何使用 Indy 的
TIdWhois
组件获取域名的到期日期?
我不想获取完整的 WHOIS 数据,只想获取到期日期。
我使用了这个代码:
IdWhois1.Host:= edit1.Text;
memo1.Lines.Text := IdWhois1.WhoIs (edit2.Text);
这显示了完整的 WHOIS 数据。
你不能:WHOIS 协议以人类可读的格式存储数据,这就是为什么你只有文本,无法专门查询日期,甚至无法以非文本类型获取它。
自己解析文本:找到与您期望的大部分内容匹配的行,然后将日期从文本转换为您喜欢的数据类型。预计 WHOIS 结果没有到期行或到期行为空。
writeln(RegExMatch(IdWhois1.WhoIs('domain ibm.com'),
.*Registry Expiry Date.*', false));