domain = $udomain ; } // // Get whois and analyze domain name status // ok not registered // non-null value expiration time // unknown null value // function"/> domain = $udomain ; } // // Get whois and analyze domain name status // ok not registered // non-null value expiration time // unknown null value // function">

Home  >  Article  >  Backend Development  >  wrath of the titans Use PHP to query domain name status whois class

wrath of the titans Use PHP to query domain name status whois class

WBOY
WBOYOriginal
2016-07-29 08:35:121178browse

Copy the 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." Registered, expiry time: $rs
rn";
}
//
//Get whois query server
//
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;
}
//
// Convert English months to numbers
//
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" );
//Check whether the domain name is registered, equivalent to $sd->PrintSta();
$rs = $sd->GetInfo();
if($rs=="ok") echo $sd ->domain." Not registered!
rn";
else if($rs=="") echo "Unable to query ".$sd->domain." status!
rn";
else echo $sd->domain." Registered, expiration time: $rs
rn";
//Get detailed whois information of the domain name
//echo $sd->GetWhois();
?>

The above introduces the class of wrath of the titans for querying domain name status whois using PHP, including the content of wrath of the titans. I hope it will be helpful to friends who are interested in PHP tutorials.

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