Dns 使用WhoIs确定域可用性

Dns 使用WhoIs确定域可用性,dns,whois,tld,registrar,Dns,Whois,Tld,Registrar,我正在使用一个API来执行WhoIs查询,以确定域的可用性 但是,似乎每个TLD都会给出不同类型的响应,因此我必须为每个TLD创建自定义搜索: result.match("No match for") //.com result.match("NOT FOUND") //.info, .org !result.match("Administrative")//.biz result.match("Invalid query or domain")//.tk !result.message.mat

我正在使用一个API来执行WhoIs查询,以确定域的可用性

但是,似乎每个TLD都会给出不同类型的响应,因此我必须为每个TLD创建自定义搜索:

result.match("No match for") //.com
result.match("NOT FOUND") //.info, .org
!result.match("Administrative")//.biz
result.match("Invalid query or domain")//.tk
!result.message.match("registered")//.ca
result.match("No Match")//.edu
result.match("Status: free")//.de
result.match("Not found:")//.de

还有数百个TLD需要通过。这肯定不是最好的方法。有没有更简单的方法来确定域是否已注册?

不幸的是,没有。确定域是否可用的唯一方法是通过whois调用。您不能使用DNS等替代方法,因为即使域不解析,也不意味着它可用

主要的问题恰恰是:每个服务器都可以使用完全不同的字符串进行响应。如果你真的想把它做好,你必须收集所有不同的字符串,或者测试大量的可能性

我是这本书的作者。到目前为止,它是唯一一个为每个响应提供规范和解析器的开源库。检查一下,你可以直接使用它或者从那里得到所有不同的响应,代码是开源的

还要记住,如果您不想处理这个问题,可以使用一些服务来检查域的可用性

以下是一些:


免责声明:我是。

的作者,不幸的是,我不是。确定域是否可用的唯一方法是通过whois调用。您不能使用DNS等替代方法,因为即使域不解析,也不意味着它可用

主要的问题恰恰是:每个服务器都可以使用完全不同的字符串进行响应。如果你真的想把它做好,你必须收集所有不同的字符串,或者测试大量的可能性

我是这本书的作者。到目前为止,它是唯一一个为每个响应提供规范和解析器的开源库。检查一下,你可以直接使用它或者从那里得到所有不同的响应,代码是开源的

还要记住,如果您不想处理这个问题,可以使用一些服务来检查域的可用性

以下是一些:


免责声明:我是。

的作者,我试图通过编译一篇综合性的文章来解决这个问题。此列表包含500多个顶级域。请随意使用该列表


但是,如果您不想费心让列表保持最新或whois服务器上的费率限制,我可以向您推荐我的服务器,该服务器也在使用该列表。

我试图通过编译一个综合性列表来解决此问题。此列表包含500多个顶级域。请随意使用该列表


但是,如果您不想费心让列表保持最新或whois服务器上的费率限制,我可以向您推荐使用该列表的服务器。

感谢Markus公开提供列表并对其进行维护。感谢Markus公开提供列表并对其进行维护。