Home >Backend Development >PHP Tutorial >Use PHP to query domain name status whois class_PHP tutorial

Use PHP to query domain name status whois class_PHP tutorial

WBOY
WBOYOriginal
2016-07-21 16:00:37855browse

Copy code The code is as follows:

class SearchDomain
{
var $domain="";
function SetDomain($udomain)
{
$this->domain = $udomain;
}
//
// Get whois and analyze domain name status
// ok Not registered
// Non-null value Expiration time
// Null value Unknown
//
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."rn" ;
$out .= "Connection: Closernrn";
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 "";
}
//
//Get the entire whois information of the domain name
//
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."rn";
$ out .= "Connection: Closernrn";
fputs($fp, $out);
while (!feof($fp))
{
$wh .= nl2br(fgets($fp , 255));
}
fclose($fp);
return $wh;
}
//
//Output the status information of the current domain name
//
function PrintSta()
{
$rs = $this->GetInfo();
if($rs=="ok") echo $this->domain." Not registered !
rn";
else if($rs=="") echo "Unable to query ".$this->domain." status!
rn";
 else echo $this->domain." 已注册,到期时间:$rs
rn";
 }
 //
 //获得 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<=12;$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." 未注册!
rn";
else if($rs=="") echo "无法查询 ".$sd->domain." 状态!
rn";
else echo $sd->domain." 已注册,到期时间:$rs
rn";

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

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/317052.htmlTechArticle复制代码 代码如下: ? classSearchDomain { var$domain=""; functionSetDomain($udomain) { $this-domain=$udomain; } // //获取whois并分析域名状态 //ok未被注册 //非空...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn