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 は、1 行に 1 つのドメインを含むテキストエリア ボックスです。この PHP からの出力は次のとおりです。

配列 ( [0] => madeupdomainname.co.uk [1] => anothermadeupdomain.co.uk )

madeupdomainname.co.uk の WHOIS データを表示

uk WHOIS にアクセスしたり、nominet.org.uk/whois で完全に入手できる利用規約で許可されている場合を除き、そこからのデータを使用したりします。これには次の制限が含まれます。 (B) この通知の一部または全部を覆い隠す、削除する、または隠すこと、および (C) クエリ レートまたはボリュームの制限を超えること。データは「現状のまま」提供されており、記録より遅れる場合があります。アクセスはいつでも撤回または制限される可能性があります。] => ) レジスターより遅れる場合があります。アクセスはいつでも撤回または制限される可能性があります。] => ) レジスターより遅れる場合があります。アクセスはいつでも撤回または制限される可能性があります。] => )

anothermadeupdomain.co.uk の WHOIS データを表示

uk WHOIS にアクセスしたり、nominet.org.uk/whois で完全に入手できる利用規約で許可されている場合を除き、そこからのデータを使用したりします。これには次の制限が含まれます。 (B) この通知の一部または全部を覆い隠す、削除する、または隠すこと、および (C) クエリ レートまたはボリュームの制限を超えること。データは「現状のまま」提供されており、記録より遅れる場合があります。アクセスはいつでも撤回または制限される可能性があります。] => ) レジスターより遅れる場合があります。アクセスはいつでも撤回または制限される可能性があります。] => ) レジスターより遅れる場合があります。アクセスはいつでも撤回または制限される可能性があります。] => )

ご覧のとおり、最初のドメインから WHOIS データを正しく取得していますが、2 番目のドメインを無視して、最初のドメインの WHOS 情報を再利用しているだけで、本当に困っています。助言がありますか?

ありがとう。

4

1 に答える 1

1

WHOIS プロトコルでは、接続ごとに 1 つの要求のみが許可されます。リクエストごとに新しい接続を開く必要があります。

于 2011-12-08T02:06:03.513 に答える