>php教程 >PHP源码 >超级精简的php 查询域名whois

超级精简的php 查询域名whois

PHP中文网
PHP中文网원래의
2016-05-25 17:12:081490검색

<?php
function whois_query($domain) {
// fix the domain name:
$domain = strtolower(trim($domain));
$domain = preg_replace(&#39;/^http:\/\//i&#39;, &#39;&#39;, $domain);
$domain = preg_replace(&#39;/^www\./i&#39;, &#39;&#39;, $domain);
$domain = explode(&#39;/&#39;, $domain);
$domain = trim($domain[0]);
 
// split the TLD from domain name
$_domain = explode(&#39;.&#39;, $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(&#39;Error: No matching nic server found!&#39;);
}
      
$nic_server = $servers[$ext];
      
$output = &#39;&#39;;
  
    // 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(&#39;Error: Could not connect to &#39; . $nic_server . &#39;!&#39;); }
  
return nl2br($output);
}
$domain= $_GET["d"] ? $_GET["d"]:"www.bitefu.net";
echo whois_query($domain);
?>

08163958_Voth.png

<?php
function whois_query($domain) {
// fix the domain name:
$domain = parse_url(strtolower(trim($domain)));
$domain=$domain[&#39;host&#39;] ? $domain[&#39;host&#39;]:$domain[&#39;path&#39;];
$domain = preg_replace(&#39;/^www\./i&#39;, &#39;&#39;, $domain);
echo $domain;
// split the TLD from domain name
$_domain = explode(&#39;.&#39;, $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(&#39;Error: No matching nic server found!&#39;);
}
      
$nic_server = $servers[$ext];
      
$output = &#39;&#39;;
  
    // 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(&#39;Error: Could not connect to &#39; . $nic_server . &#39;!&#39;); }
  
return nl2br($output);
}
$domain= $_GET["d"] ? $_GET["d"]:"www.bitefu.net";
echo whois_query($domain);
?>


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.