网络编程
位置:首页>> 网络编程>> php编程>> php查询whois信息的方法

php查询whois信息的方法

作者:不吃皮蛋  发布时间:2023-09-05 10:47:00 

标签:php,whois

本文实例讲述了php查询whois信息的方法。分享给大家供大家参考。具体如下:

这里使用php通过查询whois信息的网站列表进行查询


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.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: 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: Could 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');

希望本文所述对大家的php程序设计有所帮助。

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com