Tema Detectar disponibilidad de dominios (.com/.net/.org)
Pregunta ¿Cómo hago para detectar yo mismo si un dominio esta disponible?
Respuesta Usando esta funcion. (cplus trajo el borrador, y yo la corregi)
Código de ejemplo con comentarios:
Código PHP:
<?
function checkDomainReg($domain,$server) {
if(!$server){
$server = 'whois.crsnic.net';
$lineNumber = 8;
$fp = fsockopen ($server, 43, &$errnr, &$errstr) or die("$errno: $errstr");
fputs($fp, "$domain\n");
$x=0;
while (!feof($fp)) {
$serverReturn = fgets($fp, 2048);
$serv.=$serverReturn;
if ($x == $lineNumber) {
$line = $serverReturn;
}
$x++;
}
fclose($fp);
$result=preg_match("/no\smatch/i",$line)?0:1;
return $result;
}else{
$lineNumber = 8;
$fp = fsockopen ($server, 43, &$errnr, &$errstr) or die("$errno: $errstr");
fputs($fp, "$domain\n");
while (!feof($fp)) {
$serverReturn .= fgets($fp, 2048);
}
$result=substr_count($serverReturn,'NOT FOUND')?0:1;
return $result;
}
}
if(!$dominio){
?>
<form method="POST" action= "<?=$PHP_SELF?>">
<b>Revisar si el dominio esta disponible</b>
<P>
<INPUT name="dominio" SIZE="30" MAXLENGTH="35">
.
<select name="ext" id="ext">
<option value="com" selected>com</option>
<option value="net">net</option>
<option value="org">org</option>
</select>
<P> <INPUT TYPE="SUBMIT" VALUE="Revisar">
</P>
</FORM>
<?
}
else{
$si='#00AA11';
$no='#FF0000';
$com=checkDomainReg("$dominio.com",'');
$net=checkDomainReg("$dominio.net",'');
$org=checkDomainReg("$dominio.org",'whois.pir.org');
echo '<font color="'.($com?$no:$si).'"><b>'.$dominio.'.com</b></font><br>';
echo '<font color="'.($net?$no:$si).'"><b>'.$dominio.'.net</b></font><br>';
echo '<font color="'.($org?$no:$si).'"><b>'.$dominio.'.org</b></font><br>';
}
?>
Consultamos "dominio.com" y mostrará los dominios en rojo si no estan disponible y en verde si estan disponibles. Saludos!
PD: Este tema de dominios es dudoso, hay tanto negocio que me llego hasta desidir hacerme mi propio script para asi no haya casi posibilidad de que sepan que dominio quiero registrar... aprovechalo.