各类知识收集,PHP技术分享与解决方案各类知识收集,PHP技术分享与解决方案各类知识收集,PHP技术分享与解决方案

Str Tom,为分享PHP技术和解决方案,贡献一份自己的力量!
收藏本站(不迷路),每天更新好文章!
当前位置:首页 > CMS教程 > PHP

wrathofthetitans用PHP查询域名状态whois的类

管理员 2023-09-05
PHP
127

wrathofthetitans用PHP查询域名状态whois的类

内容导读

收集整理的这篇技术教程文章主要介绍了wrathofthetitans用PHP查询域名状态whois的类,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2992字,纯文字阅读大概需要5分钟

内容图文

代码如下:


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."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 "";
}
//
//获得域名的整个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."rn";
$out .= "Connection: Closernrn";
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." 未注册!
rn";
else if($rs=="") echo "无法查询 ".$this->domain." 状态!
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();
?>

以上就介绍了wrath of the titans 用PHP查询域名状态whois的类,包括了wrath of the titans方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

内容总结

以上是为您收集整理的wrathofthetitans用PHP查询域名状态whois的类全部内容,希望文章能够帮你解决wrathofthetitans用PHP查询域名状态whois的类所遇到的程序开发问题。 如果觉得技术教程内容还不错,欢迎将网站推荐给程序员好友。

内容备注

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

扫码关注

qrcode

QQ交谈

回顶部