1

这是关于域名验证的另一个话题。我阅读了其他主题的答案。我尝试了几个脚本。我不想使用API。除非有免费的 API 但我还没有找到。

我试图检查DNS以下代码:

if($_POST['submit']){

    if(!empty($_POST['check_site'])){
        $url = $_POST['check_site'];

        //add .nl
        if(!strpos($url,'.nl')){
            $url.= '.nl';
        }

        //check dns record
        $result  = dns_get_record($url);

        if(count($result) > 0)
        {
            echo $url. ' is used';
        }else{
            echo $url. ' is free';
        }
    }
}

问题是当我尝试检查“example.nl”(一个已注册但不活动的域)时,它不会返回 DNS 数据,所以我验证它是免费域。

我的问题是:

  1. 有人修吗?

  2. 有没有人有建议(链接到其他脚本/文章)

  3. 有没有办法检查网站是否有registrar

我仍然是学生,但这不是学校项目。

实时代码:链接

我正在检查答案,提前谢谢

编辑:

当我尝试

   shell_exec (whois -h whois.domain-registry.nl 'is example.nl');

我收到意外的 T_String 错误。使用它的正确方法是什么?

4

2 回答 2

4

如果您的 PHP 安装有权执行基于 UNIX 的服务器上常见的 whois 命令行实用程序,您可以从以下命令获取信息:

whois -h whois.domain-registry.nl 'is example.nl'

此命令取自此 SIDN 页面,位于“Is”下。您必须检查您是否可以每天从一个 IP 地址执行此操作超过 15 次,因为对于更完整的 whois(没有“is”)您也无法执行此操作。您似乎也被限制为每秒一个请求。

于 2013-03-28T10:00:30.010 回答
1

我认为 PHP 函数会检查站点是否分配给 IP 地址。这就是为什么非活动域被标识为免费的原因!

无论如何,您可以使用 PHP 的checkdnsrr()再次检查您的代码。

如果它不起作用,则为此目的有一个扩展。我认为它是免费的

于 2013-03-28T10:00:36.580 回答