php查询whois信息的方法
本文实例讲述了php查询whois信息的方法。分享给大家供大家参考。具体如下:
这里使用php通过查询whois信息的网站列表进行查询
functionwhois_query($domain){
//fixthedomainname:
$domain=strtolower(trim($domain));
$domain=preg_replace('/^http:\/\//i','',$domain);
$domain=preg_replace('/^www\./i','',$domain);
$domain=explode('/',$domain);
$domain=trim($domain[0]);
//splittheTLDfromdomainname
$_domain=explode('.',$domain);
$lst=count($_domain)-1;
$ext=$_domain[$lst];
//Youfindresourcesandlists
//liketheseonwikipedia:
//
//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:Nomatchingnicserverfound!');
}
$nic_server=$servers[$ext];
$output='';
//connecttowhoisserver:
if($conn=fsockopen($nic_server,43)){
fputs($conn,$domain."\r\n");
while(!feof($conn)){
$output.=fgets($conn,128);
}
fclose($conn);
}
else{die('Error:Couldnotconnectto'.$nic_server.'!');}
return$output;
}
//Someexamplequeries:
printwhois_query('jonasjohn.de');
printwhois_query('example.com');
printwhois_query('example.org');
希望本文所述对大家的php程序设计有所帮助。