【发布时间】:2015-11-07 10:47:54
【问题描述】:
我正在为希望一次快速检查数十个域的可用性的客户创建一个模板。模板必须保留为 excel 文件。
我已经安装并使用了 SEOToolsForExcel,它允许我使用 isdomainregistered() 函数查询服务器并检查特定域是否可用。然而不幸的是,该函数将始终为向其抛出的所有澳大利亚 ('.com.au') 域返回“真”(即,域被占用)。我已尝试按照此页面中的建议更改 xml 配置文件中的 TLD 查找:http://seotoolsforexcel.com/how-to-setup-tlds-in-seotools-config-xml/
我尝试了以下方法:
<Tld Name="au" WhoIsServer="whois.aunic.net" WhoIsNotFoundRegex="(no match)|(no data found)|(not found)|(no entries found)|(error for)|(invalid pattern)|(illegal question)" WhoIsCreatedRegex="" WhoIsUpdatedRegex="(?:Last Modified:\s*(\d{2}-[A-z]{3}-)\d{4})" WhoIsExpiresRegex="" WhoIsDelayMs="1000" />
还有这个:
<Tld Name="au" WhoIsServer="whois-check.ausregistry.net.au" WhoIsNotFoundRegex="is free" WhoIsCreatedRegex="" WhoIsUpdatedRegex="" WhoIsExpiresRegex="" WhoIsDelayMs="1000" />
但似乎都没有奏效。我检查了其他服务,这些服务清楚地表明这些域可用,但 SEOTool 不断返回错误结果(仅在 '.com.au' 域上,'.com' 域工作正常)。
因此,我的下一个尝试是在 excel 中编写一个自定义函数来获取域并将其发送到 Ausregistry.com.au 服务器的域可用性工具。
Ausregistry 在他们的页面中解释了如何做到这一点:http://www.ausregistry.com.au/tools/domain-availability
他们解释:
然后,服务将根据域名的可用性返回字符串“可用”或“不可用”。
举例
要检查 ausregistry.net.au 的可用性,请按以下步骤操作:
连接到:地址:whois-check.ausregistry.net.au,端口:43
将字符串“ausregistry.net.au\r\n”发送到服务器
- 服务器将响应“不可用”,然后关闭连接。
上述程序与标准 WHOIS 协议兼容;因此,为使用 WHOIS 而构建的任何经销商界面也将能够使用该系统。 或者,可以使用标准的 *nix whois 命令,如下所示: whois -h
我之前在 VBA 中编写了很多代码,但我不知道如何实现与服务器的连接以及如何将其放入域字符串然后读取结果。我将不胜感激有关如何使用 VBA 实现这一目标的任何信息。
【问题讨论】:
-
如果这是可能的,我会感到惊讶。您应该能够编写 PERL 或 Python 脚本,或者只使用现有的进行 Whois 查询的实用程序。