Tuesday, May 17, 2016

Checking Domain Availability

Below is a script for checking domain availabilityL

<?
error_reporting(0);
set_time_limit(0);
ob_start();

$ext = array(
.com => array(whois.crsnic.net,No match for),
.net => array(whois.crsnic.net,No match for),
.biz => array(whois.biz,Not found),
.mobi => array(whois.dotmobiregistry.net, NOT FOUND),
.tv => array(whois.nic.tv, No match for),
.in => array(whois.inregistry.net, NOT FOUND),
.info => array(whois.afilias.net,NOT FOUND),
.co.uk => array(whois.nic.uk,No match),
.co.ug => array(wawa.eahd.or.ug,No entries found),
.or.ug => array(wawa.eahd.or.ug,No entries found),
.nl => array(whois.domain-registry.nl,not a registered domain),
.ro => array(whois.rotld.ro,No entries found for the selected),
.com.au => array(whois.ausregistry.net.au,No data Found),
.ca => array(whois.cira.ca, AVAIL),
.org.uk => array(whois.nic.uk,No match),
.name => array(whois.nic.name,No match),
.us => array(whois.nic.us,Not Found),
.ac.ug => array(wawa.eahd.or.ug,No entries found),
.ne.ug => array(wawa.eahd.or.ug,No entries found),
.sc.ug => array(wawa.eahd.or.ug,No entries found),
.ws => array(whois.website.ws,No Match),
.be => array(whois.ripe.net,No entries),
.com.cn => array(whois.cnnic.cn,no matching record),
.net.cn => array(whois.cnnic.cn,no matching record),
.org.cn => array(whois.cnnic.cn,no matching record),
.no => array(whois.norid.no,no matches),
.se => array(whois.nic-se.se,No data found),
.nu => array(whois.nic.nu,NO MATCH for),
.com.tw => array(whois.twnic.net,No such Domain Name),
.net.tw => array(whois.twnic.net,No such Domain Name),
.org.tw => array(whois.twnic.net,No such Domain Name),
.cc => array(whois.nic.cc,No match),
.nl => array(whois.domain-registry.nl,is free),
.pl => array(whois.dns.pl,No information about),
.pt => array(whois.dns.pt,No match)
);
function return_status($domain, $status)
{
global $extension;
$domain = trim($domain);
$wt = ($status == available) ? bold : normal;
if($status == invalid && $extension == org) { $status .= (.org WHOIS prevents request); }

echo "<div style="font-weight:$wt">$domain is $status!</div>";
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Check Your Domain Availability</title>
</head>
<body>
<table width="75%" border="0" align="center" cellpadding="5" cellspacing="1">
<tr>
<td height="30" align="center"><h3>Check Your Domain Availability</h3></td>
</tr>
<tr>
<td align="center"><form action="" method="post" name="frmsearchposition" class="frmstyle" id="frmsearchposition">
<table width="100%" border="0" cellspacing="1" cellpadding="3">
<tr align="left">
<td width="20%" align="left" valign="middle">You can insert one or some domains - 1 per line. (ex: yahoo.com) </td>
<td width="40%"><textarea name="domains" cols="55" rows="5" class="frmelements_ta" id="domains"><?=$sUrl?>
</textarea></td>
<td><input type="submit" name="Submit" value="Go" /></td>
</tr>
</table>
</form></td>
</tr>

<tr>
<td width="70%" align="left" valign="top">
<table width="100%" border="0" align="center" cellpadding="3" cellspacing="1">
<tr>
<td align="left"><h3>Results</h3></td>
</tr>
<tr>
<td align="left" class="tbl_texttd"><table width="740" border="0" cellspacing="0" cellpadding="2">
<tr>
<td align="left"><?
if(strlen($_POST[domains]) > 0)
{
$domains = explode(" ", $_POST[domains]);
echo <h5>Checking . count($domains) . domains:</h5><br />;
echo (isset($_POST[save])) ? Processing results, Please wait...<br /><br /> : null;

foreach($domains as $domain)
{
unset($buffer);
preg_match(@^(http://www.|http://|www.)?([^/]+)@i, $domain, $matches);
$domain = $matches[2];

$tld = explode(., $domain, 2);
$extension = strtolower(trim($tld[1]));

if(strlen($domain) > 0 && array_key_exists(. . $extension, $ext))
{
$server = $ext[. .$extension][0];

$sock = fsockopen($server, 43) or die(Error Connecting To Server: . $server);
fputs($sock, "$domain ");

while( !feof($sock) )
{
$buffer .= fgets($sock,128);
}

fclose($sock);
if($extension == org) echo nl2br($buffer);

if(eregi($ext[. . $extension][1], $buffer)) { return_status($domain, available); }

else { return_status($domain, taken); }
}
else
{
if(strlen($domain) > 0) { return_status($domain, invalid); }
}

ob_flush();
flush();
sleep(0.1);
}

}
else
{
echo Please enter one or more domains!;
}
?>
<div class="div"></div></td>
</tr>
</table></td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>