Heim  >  Artikel  >  Backend-Entwicklung  >  用PHP查询域名状态whois的类_PHP教程

用PHP查询域名状态whois的类_PHP教程

WBOY
WBOYOriginal
2016-07-21 16:00:37798Durchsuche

复制代码 代码如下:


class SearchDomain
{
 var $domain="";
 function SetDomain($udomain)
 {
 $this->domain = $udomain;
 }
 //
 // 获取whois并分析域名状态
 // ok 未被注册
 // 非空值 过期时间
 // 空值 未知
 //
 function GetInfo()
 {
 /*
 $dinfo = trim($this->GetWhois());
 if($dinfo=="") return "";
 if(eregi("no match",$dinfo)) return "ok";
 //return $rs;
 */
 $wl = "";
 $w_server = $this->GetServer();
 if($w_server=="") return "";
 $fp = fsockopen($w_server, 43, $errno, $errstr, 30);
 if(!$fp)
 {
 echo $errstr;
 return "";
 }
 $out = $this->domain."\r\n";
 $out .= "Connection: Close\r\n\r\n";
 fputs($fp, $out);
 while (!feof($fp))
 {
 $wl = fgets($fp, 255);
 if(eregi("no match",$wl))
 {
 fclose($fp);
 return "ok";
 }
 if(eregi("Expiration Date",$wl))
 {
 $lines = split(":",$wl);
 $t = trim($lines[1]);
 $ts = split(" ",$t);
 $t = $ts[0];
 if(ereg("[^0-9-]",$t))
 {
 $ts = split("-",$t);
 $t = $ts[2]."-".$this->MonthToNum($ts[1])."-".$ts[0];
 }
 fclose($fp);
 return $t;
 }
 }
 fclose($fp);
 return "";
 }
 //
 //获得域名的整个whois信息
 //
 function GetWhois()
 {
 $wh = "";
 $w_server = $this->GetServer();
 if($w_server=="") return "";
 $fp = fsockopen($w_server, 43, $errno, $errstr, 30);
 if(!$fp)
 {
 echo $errstr;
 return "";
 }
 $out = $this->domain."\r\n";
 $out .= "Connection: Close\r\n\r\n";
 fputs($fp, $out);
 while (!feof($fp))
 {
 $wh .= nl2br(fgets($fp, 255));
 }
 fclose($fp);
 return $wh;
 }
 //
 //输出当前域名的状态信息
 //
 function PrintSta()
 {
 $rs = $this->GetInfo();
 if($rs=="ok") echo $this->domain." 未注册!
\r\n";
 else if($rs=="") echo "无法查询 ".$this->domain." 状态!
\r\n";
 else echo $this->domain." 已注册,到期时间:$rs
\r\n";
 }
 //
 //获得 whois 查询服务器
 //
 function GetServer()
 {
 $udomain=substr($this->domain,-3);
 switch($udomain)
 {
 case "com":
 $w_server="whois.internic.net";
 break;
 case "net":
 $w_server="whois.internic.net";
 break;
 case "org":
 $w_server="whois.pir.org";
 break;
 case "nfo":
 $w_server="whois.afilias.info";
 break;
 case "biz":
 $w_server="whois.biz";
 break;
 case ".cc":
 $w_server="whois.nic.cc";
 break;
 case "edu":
 $w_server="whois.educause.net";
 break;
 case "gov":
 $w_server="whois.nic.gov";
 break;
 case ".cn":
 $w_server="whois.cnnic.net.cn";
 break;
 default:
 $w_server="";
 }
 return $w_server;
 }
 //
 //英语的月份转为数字
 //
 function MonthToNum($m)
 {
 $m = strtolower($m);
 for($i=1;$i {
 $tt = mktime(0,0,0,$i+1,0,2005);
 if($m==strtolower(strftime("%b",$tt)))
 {
 if($i>9) return $i-1;
 else return "0".$i-1;
 }
 }
 }
}

$sd = new SearchDomain();
$sd->SetDomain("job-sky.com");

//查询域名是否被注册,等价于 $sd->PrintSta(); 
$rs = $sd->GetInfo();
if($rs=="ok") echo $sd->domain." 未注册!
\r\n";
else if($rs=="") echo "无法查询 ".$sd->domain." 状态!
\r\n";
else echo $sd->domain." 已注册,到期时间:$rs
\r\n";

//获得域名的详细whois信息
//echo $sd->GetWhois();
?>

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/317052.htmlTechArticle复制代码 代码如下: ? classSearchDomain { var$domain=""; functionSetDomain($udomain) { $this-domain=$udomain; } // //获取whois并分析域名状态 //ok未被注册 //非空...
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn