Function whois_query ($ domain ){ // Fix the domain name: $ Domain = strtolower (trim ($ domain )); $ Domain = preg_replace ('/^ http: \\// I', '', $ domain ); $ Domain = preg_replace ('/^ www \./I', '', $ domain ); $ Domain = explode ('/', $ domain ); $ Domain = trim ($ domain [0]); // Split the TLD from domain name $ _ Domain = explode ('.', $ domain ); $ Lst = count ($ _ domain)-1; $ Ext = $ _ domain [$ lst]; // You find resources and lists // Like these on wikipedia: // // Http://de.wikipedia.org/wiki/Whois // $ 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. ", "TV" => "whois. TV ", "Ru" => "whois.ripn.net ", "Org" => "whois.pir.org ", "Aero" => "whois. information. aero ", "Nl" => "whais. domain-registry.nl" ); If (! Isset ($ servers [$ ext]) { Die ('error: No matching nic server found! '); } $ Nic_server = $ servers [$ ext]; $ Output = ''; // Connect to whois server: If ($ conn = fsockopen ($ nic_server, 43 )){ Fputs ($ conn, $ domain. "\ r \ n "); While (! Feof ($ conn )){ $ Output. = fgets ($ conn, 128 ); } Fclose ($ conn ); } Else {die ('error: cocould not connect to '. $ nic_server .'! ');} Return $ output; } // Some example queries: Print whois_query ('jonasjohn. de '); Print whois_query ('example. com '); Print whois_query ('example. org '); |