以编程方式确定网站域是否可用的最有效方法?

时间:2020-03-06 14:28:28  来源:igfitidea点击:

我正在编写一些代码来确定是否已注册网络域。例如,我要检查" Google123.com"是否可用。我至少可以通过两种方式以编程方式执行此操作,但是我不确定哪种方法更有效:

  • A)在linux / cygwin中,我可以启动whois命令以查看是否正在使用域。
  • B)在linux / windows中,我可以启动nslookup命令以查看域是否可解析。

我的问题是:

  • nslookup真的是检查注册的有效方法吗?是否每个注册域都有一个名称服务器并显示在DNS中?
  • 进行此注册检查的最快方法是什么?有任何提示或者其他方式吗?

解决方案

这将为我们提供快速的是/否,但是,如果我们认为它是免费的并且想要它,请尝试注册它,我们可能会发现它已经被使用。

关于#1,否。并不需要注册的域实际上具有DNS。

system(" whois $ domainname");

nslookup会命中系统设置中的dns服务器。它可能落后于时代,或者没有任何dns条目。我认为最好的方法是将TCP连接到whois.internic.net端口43(whois端口),传递我们要检查的名称,然后应该得到一个响应,告知我们。如果不存在,我们将收到诸如" domainyourchecking.com不匹配"的响应

有传言说,其中一些允许我们搜索域名的网站实际上是域名投机者的战线,投机者会在搜索时立即购买该域名,然后尝试为我们出售。我从未遇到过这样的骗局,但我们可能想在搜索理想的域名之前尝试在新站点上进行一些垃圾域搜索。

Whois的问题在于,来自不同tld的响应不一致。

因此,如果我们只是在寻找.com或者其他特定的tld,就可以了。如果我们开始查看各种ccTld或者其他gTld,则可能会在逻辑中发现很多特殊的大小写,试图找出whois命令返回的数据中"可用"的含义。

即使域可用,Whois始终会将成功返回给Shell。 :(