用PHP查询域名状态whois的类
用PHP查询域名状态whois的类
发布时间:2016-12-29 来源:查字典编辑
摘要:复制代码代码如下:

复制代码 代码如下:

<?

classSearchDomain

{

var$domain="";

functionSetDomain($udomain)

{

$this->domain=$udomain;

}

//

//获取whois并分析域名状态

//ok未被注册

//非空值过期时间

//空值未知

//

functionGetInfo()

{

/*

$dinfo=trim($this->GetWhois());

if($dinfo=="")return"";

if(eregi("nomatch",$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("nomatch",$wl))

{

fclose($fp);

return"ok";

}

if(eregi("ExpirationDate",$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信息

//

functionGetWhois()

{

$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;

}

//

//输出当前域名的状态信息

//

functionPrintSta()

{

$rs=$this->GetInfo();

if($rs=="ok")echo$this->domain."未注册!<br/>rn";

elseif($rs=="")echo"无法查询".$this->domain."状态!<br/>rn";

elseecho$this->domain."已注册,到期时间:$rs<br/>rn";

}

//

//获得whois查询服务器

//

functionGetServer()

{

$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;

}

//

//英语的月份转为数字

//

functionMonthToNum($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;

elsereturn"0".$i-1;

}

}

}

}

$sd=newSearchDomain();

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

//查询域名是否被注册,等价于$sd->PrintSta();

$rs=$sd->GetInfo();

if($rs=="ok")echo$sd->domain."未注册!<br/>rn";

elseif($rs=="")echo"无法查询".$sd->domain."状态!<br/>rn";

elseecho$sd->domain."已注册,到期时间:$rs<br/>rn";

//获得域名的详细whois信息

//echo$sd->GetWhois();

?>

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新php教程学习
热门php教程学习
编程开发子分类