コードをコピー コードは次のとおりです:
<
クラス SearchDomain
{
var $domain="";
関数 SetDomain($udomain)
{
$this-> ドメイン= $udomain;
}
//
// Whois を取得し、ドメイン名のステータスを分析します
// OK 未登録
// 非 null 値 有効期限
// Null値が不明
//
function GetInfo()
{
/*
$dinfo =rim($this->GetWhois());
if($dinfo==) " ") return ""; if(eregi("no match",$dinfo)) return "ok"; //return $rs; ;
$w_server = $this->GetServer();
if($w_server=="") return "";
$fp = fsockopen($w_server, 43, $errno, $errstr , 30);
if(!$fp)
{
echo $errstr;
return "";
}
$out = $this->domain." " ;
$out .= "接続: Closernrn";
fputs($fp, $out);
while (!feof($fp))
{
$wl = fgets ( $fp, 255);
if(eregi("一致しない",$wl))
{
fclose($fp);
return "ok"; > if(eregi("有効期限",$wl))
{
$lines = split(":",$wl);
$t =rim($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);
}
戻り値;
}
//
//ドメイン名の Whois 情報全体を取得
//
function GetWhois()
{
$wh = ""; 🎜> $w_server = $this->GetServer();
if($w_server=="") return ""
$fp = fsockopen($w_server, 43, $errno, $errstr, 30 );
if(!$fp)
{
echo $errstr;
}
$out = $this->domain.";
$ out .= "接続: Closernrn";
fputs($fp, $out);
while (!feof($fp))
{
$wh( fgets($fp , 255));
}
fclose($fp);
return $wh;
}
//
// 現在のステータス情報を出力しますドメイン名
//
function PrintSta()
{
$rs = $this->GetInfo();
if($rs=="ok") echo $this- >ドメイン。」登録されていません!
rn";
else if($rs=="") echo ".$this-> ドメインのステータスをクエリできません。"
rn";
else echo $this->ドメイン。」 已注册,期限期間:$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";
ケース "nfo":
$w_server="whois.afilias.info";
ケース
$w_server="whois.biz";
ケース ".cc":
$w_server="whois.nic.cc";
ケース "edu" :
$w_server="whois.educause.net";
break;
case "gov":
$w_server="whois.nic.gov";
case ".cn":
$w_server="whois.cnnic.net.cn";
break
デフォルト:
$w_server="";
return $ w_server;
}
//
//英語の月佬は数字
//
関数 MonthToNum($m)
{
$m = strto lower($m );
for($i=1;$i {
$tt = mktime(0,0,0,$i 1,0,2005); > if($m==strto lower(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();
?>