Functions

 /*
  *Whois检查代码,
  *@author:lixiuran
  */
function whois_query($domain) {
    $domain = strtolower(trim($domain));
    $domain = preg_replace('/^http:\/\//i','',$domain);
    $domain = preg_replace('/^www\./i','',$domain);
    $domain = explode('/',$domain);
    $domain = trim($domain[0]);
    // 切割域名
    $_domain = explode('.',$domain);
    $lst = count($_domain)-1;
    $ext = $_domain[$lst];
    //定义不同域名后缀所需要连接的查询服务器地址
    $servers = array(
        "biz" => "whois.neulevel.biz",
        "com" => "whois.internic.net",
        "us" => "whois.nic.us",
        "coop" => "whois.nic.coop",
        "info" => "whois.nic.info",
        "name" => "whois.nic.name",
        "net" => "whois.internic.net",
        "gov" => "whois.nic.gov",
        "edu" => "whois.internic.net",
        "mil" => "rs.internic.net",
        "int" => "whois.iana.org",
        "ac" => "whois.nic.ac",
        "ae" => "whois.uaenic.ae",
        "at" => "whois.ripe.net",
        "au" => "whois.aunic.net",
        "be" => "whois.dns.be",
        "bg" => "whois.ripe.net",
        "br" => "whois.registro.br",
        "bz" => "whois.belizenic.bz",
        "ca" => "whois.cira.ca",
        "cc" => "whois.nic.cc",
        "ch" => "whois.nic.ch",
        "cl" => "whois.nic.cl",
        "cn" => "whois.cnnic.net.cn",
        "cz" => "whois.nic.cz",
        "de" => "whois.nic.de",
        "fr" => "whois.nic.fr",
        "hu" => "whois.nic.hu",
        "ie" => "whois.domainregistry.ie",
        "il" => "whois.isoc.org.il",
        "in" => "whois.ncst.ernet.in",
        "ir" => "whois.nic.ir",
        "mc" => "whois.ripe.net",
        "to" => "whois.tonic.to",
        "tv" => "whois.tv",
        "ru" => "whois.ripn.net",
        "org" => "whois.pir.org",
        "aero" => "whois.information.aero",
        "nl" => "whois.domain-registry.nl"
    );
    if (!isset($servers[$ext])){
        die('Error: 没有找到匹配的服务器!');
    }
    $nic_server = $servers[$ext];
    $output = '';
    //连接域名服务器:
    if ($conn = fsockopen ($nic_server, 43)) {
        fputs($conn, $domain."\r\n");
        while(!feof($conn)) {
            $output .= fgets($conn,128);
        }
        fclose($conn);
    }
    else { die('Error: 不能连接到: ' . $nic_server . '!'); }
    return $output;
}
posted @ 2014-07-22 10:12  风与叶子  阅读(183)  评论(0编辑  收藏  举报