0

我的项目的目的是创建一个批量 WHOIS 检查器,它从多个 WHOIS 记录中输出选择信息。

我想我已经很接近完成它了,只是有一个令人讨厌的错误,我无法弄清楚。(这可能很简单)

我的代码如下;

    $domain = explode("\r\n", $domains);

    print_r($domain);
    echo "<br /><br />";


    foreach ($domain as $item) {

        fwrite($fp, $item . "\r\n");

        while (!feof($fp)) {
            $lookup .= fread($fp, 8192);
        }

        $value = explode("\r\n\r\n", $lookup);
                    $whois_data = array();


        foreach ($value as $values) {
            $details = explode(":\r\n", $values, 2);
            $whois_data[trim($details[0])] = $details[1];
        }

        echo "Show WHOIS data for " . $item . "<br />";
        print_r($whois_data);
        unset($whois_data);
        echo "<br /><br />";
    }

$domains 是一个文本框,每行一个域,我的 PHP 输出如下;

数组( [0] => madeupdomainname.co.uk [1] => anothermadeupdomain.co.uk )

显示 madeupdomainname.co.uk 的 WHOIS 数据

uk WHOIS 或使用其中的任何数据,除非 nominet.org.uk/whois 上的完整使用条款允许,其中包括对以下方面的限制:(A) 将数据用于广告,或其重新包装、重新编译、重新分发或重复使用 (B) 模糊、删除或隐藏本通知的任何或全部内容,以及 (C) 超出查询速率或数量限制。数据按“原样”提供,可能落后于登记册。可以随时撤回或限制访问。] => ) 基础,并可能落后于登记册。可以随时撤回或限制访问。] => ) 基础,并可能落后于登记册。可以随时撤回或限制访问。] => )

显示 anothermadeupdomain.co.uk 的 WHOIS 数据

uk WHOIS 或使用其中的任何数据,除非 nominet.org.uk/whois 上的完整使用条款允许,其中包括对以下方面的限制:(A) 将数据用于广告,或其重新包装、重新编译、重新分发或重复使用 (B) 模糊、删除或隐藏本通知的任何或全部内容,以及 (C) 超出查询速率或数量限制。数据按“原样”提供,可能落后于登记册。可以随时撤回或限制访问。] => ) 基础,并可能落后于登记册。可以随时撤回或限制访问。] => ) 基础,并可能落后于登记册。可以随时撤回或限制访问。] => )

正如您所看到的,它正确地从第一个域中获取 WHOIS 数据,但随后忽略了第二个域,而只是重新使用第一个域的 WHOS 信息,这真的让我很烦恼。有什么建议么?

谢谢。

4

1 回答 1

1

WHOIS 协议只允许每个连接一个请求。您必须为每个请求打开一个新连接。

于 2011-12-08T02:06:03.513 回答