欧洲域名的域名更新/到期date(whois)

如何从控制台获取有关欧洲域的域名到期date的信息,如.eu.de.sk

对于.com域名,我只是使用whois example.com ,但是对于欧洲域名,我只能得到简要的信息,没有date(比如.eu域名NOT DISCLOSED!

作为一种替代解决scheme,我发现付费的网站服务www.whoisxmlapi.com ,但它也是有限的(我正在寻找非商业项目的解决scheme)。

大多数ccTLD(.de和.eu)在运行whois时没有显示到期date,而.sk是其中的一个。 只有在这个政策变化之前的解决scheme是使用api从该国家注册pipe理机构的Web界面获取完整的whois。 在这里,您可以find有关大多数ccTLD的可用whois信息的列表: http : //linuxmafia.com/pub/linux/network/domain-check-testdata

如您所见,大多数ccTLD whois服务器不会返回到期date。

这是一个在线whois工作(显示expiracydate)的.eu域名: https ://whois.eurid.eu/en/?domain = demosphere.eu

你应该能够得到几乎任何域名whois,实际上有规定,以确保是这样的情况。 但显然情况并非如此。 要从命令行正确执行whois,您必须首先:

1)使用-h开关与此列表中的服务器之一连接到whois:

http://www.nirsoft.net/whois_servers_list.html

注:每个结束/ tld有一个“主要注册商”

2)你得到的回报,将包括一个字段,让你的域名实际注册的注册商whois服务器地址。

注意:您只能从域名实际注册的注册商那里获得完整的注册信息。

如果你运行:

 $ whois google.com 

它会尝试在后台为你做(据我所知),但根据系统和whois版本,它往往不是很好,也可能是受限于速度。

下面是一个快速的代码示例,用于“正确地”执行whois。 我已经testing了大量的网站,它避免了通常的费率限制问题,并且比我尝试的其他方法返回更高的“完整结果”比率。

 TLD=$(echo $DOMAIN | cut -d. -f2-) WHOIS=$(grep -w ^$TLD whois_server.txt | cut -d ' ' -f2) timeout 2 whois -h $WHOIS "domain "$DOMAIN"" | grep " " | grep -v "Status:" | tr ':' '=' | tr -d ' ' | tr '[az]' '[AZ]' > whois.bash REGIST=$(cat whois.bash | grep WHOISSERVER | cut -d= -f2) timeout 2 whois -h $REGIST $DOMAIN | grep : | grep -w '^Admin City\|^Admin Country\|^Registrant Organization\|^Registrant Name' | tr [az] [AZ] | sed 's/\ /_/' | sed 's/:/=("/' | tr -d ' ' | sed 's/$/")/' | tr '/' '_' >> whois.bash;