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

WBOY
Release: 2016-07-29 08:35:12
Original
1157 people have browsed it

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.

Related labels:
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!