Foros del Web » Programando para Internet » PHP »

Dominios disponibles, Script y listados.

Estas en el tema de Dominios disponibles, Script y listados. en el foro de PHP en Foros del Web. Hola, Ayer, mientras estaba mirando la disponibilidad de un dominio se me ocurrió que no tenía que ser difícil generar un listado completo... Dicho y ...
  #1 (permalink)  
Antiguo 03/12/2005, 03:30
 
Fecha de Ingreso: agosto-2005
Mensajes: 109
Antigüedad: 18 años, 7 meses
Puntos: 0
Dominios disponibles, Script y listados.

Hola,

Ayer, mientras estaba mirando la disponibilidad de un dominio se me ocurrió que no tenía que ser difícil generar un listado completo...
Dicho y hecho, este es el script.

Adelanto que,

- Dominios disponibles de 3 letras: 0
- Dominios disponibles de 4 letras: 108.320

Sacar los de 5 y siguientes... tal vez otro día.


Un saludo.


El script y los listados están en http://shockly.com/find_available_domains/

El script:
Código PHP:
<?php
/*
        http://shockly.com/find_available_domains/
    
        v1.0.0. 03/12/2005, one AT shockly DOT com
*/
//---------------------------------------------------------------------------------------------------
//  definiciones

    
error_reportingE_ALL );
    @
set_time_limit);
    
ignore_user_abort);

    
//  El script se aborta creando una CARPETA con este nombre:
    
define'ABORT_SCRIPT''ABORT_SCRIPT' );

//---------------------------------------------------------------------------------------------------
//  funciones

    
function esta_disponible$dominio ) {
        if( !
$id = @fsockopen"rs.internic.net"43$errno$errstr10 ) ) { 
            die( 
"<br><br>- Imposible conectar con 'rs.internic.net'<br>" );
        } else { 
            
fputs$id"$dominio\r\n" );
            while( !
feof$id ) ) { 
                
$buffer fgets$id128 ); 
                if( 
ereg"No match for \""$buffer ) ) { 
                    
fclose$id );
                    return 
true;
                } 
            } 
            
fclose($id);
        } 
        return 
false;
    }

//---------------------------------------------------------------------------------------------------
//  main


    
echo "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 3.2 Final//EN\">\r\n";
    echo 
"<HTML>\r\n";
    echo 
" <HEAD>\r\n";
    echo 
"    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\" />\r\n";
    echo 
"    <title>Find available domains</title>\r\n";
    echo 
"    <!-- no cache headers -->\r\n";
    echo 
"    <meta http-equiv=\"Pragma\" content=\"no-cache\">\r\n";
    echo 
"    <meta http-equiv=\"no-cache\">\r\n";
    echo 
"    <meta http-equiv=\"Expires\" content=\"-1\">\r\n";
    echo 
"    <meta http-equiv=\"Cache-Control\" content=\"no-store\">\r\n";
    echo 
"    <meta http-equiv=\"Cache-Control\" content=\"no-cache\">\r\n";
    echo 
"    <meta http-equiv=\"Cache-Control\" content=\"must-revalidate\">\r\n";
    echo 
"    <!-- end no cache headers -->\r\n";
    echo 
" </HEAD>\r\n";
    echo 
"<BODY \r\n";
    echo 
"    bgcolor=\"#D5D5D5\" \r\n";
    echo 
"    text=\"#000000\" \r\n";
    echo 
"    id=\"all\" \r\n";
    echo 
"    leftmargin=\"25\" \r\n";
    echo 
"    topmargin=\"25\" \r\n";
    echo 
"    marginwidth=\"25\" \r\n";
    echo 
"    marginheight=\"25\" \r\n";
    echo 
"    link=\"#000020\" \r\n";
    echo 
"    vlink=\"#000020\" \r\n";
    echo 
"    alink=\"#000020\">\r\n";
    echo 
"<center><h1>Find available domains</h1></center>\r\n";
    echo 
"<pre>\r\n";
    echo 
"<br>";
    
    echo 
"---   test   ---<br>";
    
$dominio "elpais.com";
    if( !
esta_disponible$dominio ) )
        echo 
" El dominio '$dominio' *NO* está disponible<br>";
    else
        echo 
" El dominio '$dominio' *SÍ* está disponible<br>";
    
$dominio "elpais123oOo000.com";
    if( !
esta_disponible$dominio ) )
        echo 
" El dominio '$dominio' *NO* está disponible<br>";
    else
        echo 
" El dominio '$dominio' *SÍ* está disponible<br>";
    echo 
"--- end test ---<br>";
    echo 
"<br>";


    
$letras "4";
    
$dominio "aaaa.com";
    
$dominio_break "zzzy.com";
    
    
    
$fn_log "disponibles_de_" $letras "_letras.txt";
    if( 
$fn_log != "" ) {
        
$f_id fopen$fn_log"w" );
        if( 
$f_id ) {
            
fwrite$f_id"\r\n\r\n" );
            
fwrite$f_id"- Dominios disponibles de $letras letras '.com'\r\n" );
            
fwrite$f_id"- v1.0.0. 03/12/2005, one AT shockly DOT com\r\n\r\n\r\n" );
        }
    }
    else
        
$f_id false;
    
$cnt_encontrados 0;
    
$cnt_mirados 0;
    
$t_start time();
    for( 
$dominio[0]='a'$dominio[0] <= 'z'$dominio[0]=chr(ord($dominio[0])+)) {
        for( 
$dominio[1]='a'$dominio[1] <= 'z'$dominio[1]=chr(ord($dominio[1])+)) {
            for( 
$dominio[2]='a'$dominio[2] <= 'z'$dominio[2]=chr(ord($dominio[2])+)) {
                for( 
$dominio[3]='a'$dominio[3] <= 'z'$dominio[3]=chr(ord($dominio[3])+)) {

                    if( 
file_existsABORT_SCRIPT ) ) {
                        @
rmdirABORT_SCRIPT );
                        
$dominio $dominio_break;
                        break;
                    }

                    
$cnt_mirados++;
                    
                    if ( !
esta_disponible$dominio ) ) {
                        echo 
str_pad$cnt_mirados6"0"STR_PAD_LEFT ) . "  $dominio<br>";
                        if( 
$cnt_mirados 0x00000100 ) {
                            @
ob_flush();
                            @
flush();
                        }
                    }
                    else {
                        if( 
$f_id )
                            
fwrite$f_id"$dominio\r\n" );
                        
$cnt_encontrados++;
                        echo 
"El dominio '$dominio' *SÍ* está disponible<br>";
                        @
ob_flush();
                        @
flush();
                    }
                    
                }
            }
        }
    }

    
$t_delta time() - $t_start;
    
$t_delta = (floor(($t_delta-(floor($t_delta/86400)*86400))/3600)." horas, "
    
.floor(($t_delta-(floor($t_delta/3600)*3600))/60)." minutos y "
    
.floor($t_delta-(floor($t_delta/60))*60)." segundos.");

    
setlocaleLC_TIME,"spanish" );
    
$str_fecha strftime"%A %d de %B de %Y - %H:%M:%S"time() );
    
    if( 
$f_id ) {
        
fwrite$f_id"\r\n\r\n" );
        
fwrite$f_id"- $str_fecha\r\n" );
        
fwrite$f_id"- La búsqueda duró: " $t_delta "\r\n" );
        
fwrite$f_id"\r\n" );
        
fwrite$f_id"- Dominios disponibles de $letras letras '.com': " number_format$cnt_encontrados0',''.') . "\r\n" );
        @
fclose$f_id );
    }
    
    echo
"<br><br>";
    echo
"- $str_fecha<br>";
    echo
"- La búsqueda duró: " $t_delta "<br>";
    echo
"<br>";
    echo
"- Dominios disponibles de $letras letras '.com': " number_format$cnt_encontrados0',''.') . "<br>";
    echo 
"<br><br><h1>- FIN -</h1><br>";
    echo( 
"</pre><br>" );
    echo( 
"</BODY>" );
    echo( 
"</HTML>" );
    
    
//---------------------------------------------------------------------------------------------------
//  end
?>
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:22.