一個(gè)PHP Whois域名檢查函數(shù)代碼

字號(hào):


    以前在做PHP主機(jī)域名程序時(shí)候用的一個(gè)Whois檢查代碼,用來確定所查詢的域名是否被注冊(cè),函數(shù)囊括了大部分的域名后綴,將根據(jù)后綴的不同連接到不同的查詢服務(wù)器,以前能用,時(shí)間關(guān)系,我現(xiàn)在暫時(shí)沒有測(cè)試那些查詢網(wǎng)址現(xiàn)在是否還能用,若不能用,就需要你自己找資料,看看現(xiàn)在的網(wǎng)址是什么。
    01
    02function whois_query($domain) {
    03 $domain = strtolower(trim($domain));
    04 $domain = preg_replace('/^http:///i','',$domain);
    05 $domain = preg_replace('/^www./i','',$domain);
    06 $domain = explode('/',$domain);
    07 $domain = trim($domain[0]);
    08 // 切割域名
    09 $_domain = explode('.',$domain);
    10 $lst = count($_domain)-1;
    11 $ext = $_domain[$lst];
    12 //定義不同域名后綴所需要連接的查詢服務(wù)器地址
    13 $servers = array(
    14 "biz" => "whois.neulevel.biz",
    15 "com" => "whois.internic.net",
    16 "us" => "whois.nic.us",
    17 "coop" => "whois.nic.coop",
    18 "info" => "whois.nic.info",
    19 "name" => "whois.nic.name",
    20 "net" => "whois.internic.net",
    21 "gov" => "whois.nic.gov",
    22 "edu" => "whois.internic.net",
    23 "mil" => "rs.internic.net",
    24 "int" => "whois.iana.org",
    25 "ac" => "whois.nic.ac",
    26 "ae" => "whois.uaenic.ae",
    27 "at" => "whois.ripe.net",
    28 "au" => "whois.aunic.net",
    29 "be" => "whois.dns.be",
    30 "bg" => "whois.ripe.net",
    31 "br" => "whois.registro.br",
    32 "bz" => "whois.belizenic.bz",
    33 "ca" => "whois.cira.ca",
    34 "cc" => "whois.nic.cc",
    35 "ch" => "whois.nic.ch",
    36 "cl" => "whois.nic.cl",
    37 "cn" => "whois.cnnic.net.cn",
    38 "cz" => "whois.nic.cz",
    39 "de" => "whois.nic.de",
    40 "fr" => "whois.nic.fr",
    41 "hu" => "whois.nic.hu",
    42 "ie" => "whois.domainregistry.ie",
    43 "il" => "whois.isoc.org.il",
    44 "in" => "whois.ncst.ernet.in",
    45 "ir" => "whois.nic.ir",
    46 "mc" => "whois.ripe.net",
    47 "to" => "whois.tonic.to",
    48 "tv" => "whois.tv",
    49 "ru" => "whois.ripn.net",
    50 "org" => "whois.pir.org",
    51 "aero" => "whois.information.aero",
    52 "nl" => "whois.domain-registry.nl"
    53 );
    54 if (!isset($servers[$ext])){
    55 die('Error: 沒有找到匹配的服務(wù)器!');
    56 }
    57 $nic_server = $servers[$ext];
    58 $output = '';
    59 //連接域名服務(wù)器:
    60 if ($conn = fsockopen ($nic_server, 43)) {
    61 fputs($conn, $domain."rn");
    62 while(!feof($conn)) {
    63 $output .= fgets($conn,128);
    64 }
    65 fclose($conn);
    66 }
    67 else { die('Error: 不能連接到: ' . $nic_server . '!'); }
    68 return $output;
    69}
    70?>
    函數(shù)調(diào)用后,將直接返回結(jié)果。