经测试代码如下:
/**
* 查询whois信息
*
* @param
* @arrange (编程之家) jb51.cc
**/
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:
//
//
$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');
/*** 来自编程之家 jb51.cc(jb51.cc) ***/