Whois

  • gsv2com
  • Professor
  • Professor
  • Avatar de Usuario
  • Registrado: Ene 25, 2004
  • Mensajes: 776
  • Loc: Nippon
  • Status: Offline

Nota Abril 19th, 2004, 11:08 pm

Quick question. Tengo el siguiente código y una línea me molesta. Heres el código completo:

Código: [ Select ]
function whois ($a_server, $a_query, $a_port=43) {
    $available = "No match";
    $a_query = str_replace("www.", "", $a_query);
    $a_query = str_replace("http://", "", $a_query);
    
    //connects to whois to search for username
    $sock = fsockopen($a_server,$a_port);
    if(!$sock) {
        echo 'Could Not Connect To Server.';
    }
    
    //write the query to whois
    fputs($sock,"$a_query\r\n");
    //get the line of results
    while(!feof($sock)) $result .= fgets($sock,128);
    //close the connection

    fclose($sock);
    
    if (eregi($available,$result)) {
        echo $a_query . ' is available.';
    } else {
        echo $a_query . ' is not available.</b></font>';
    }

}

if($query != ''){
    if(!eregi(".com",$query) AND !eregi(".net",$query) AND !eregi(".org",$query)) {
        echo 'You must specify a .com, .net, or .org domain name.';
    } else {
        $server = 'whois.internic.net';
        whois($server,$query);
    }
} elseif(isset($query)) {
    echo 'Please fill in a domain name and try again.';
}
  1. function whois ($a_server, $a_query, $a_port=43) {
  2.     $available = "No match";
  3.     $a_query = str_replace("www.", "", $a_query);
  4.     $a_query = str_replace("http://", "", $a_query);
  5.     
  6.     //connects to whois to search for username
  7.     $sock = fsockopen($a_server,$a_port);
  8.     if(!$sock) {
  9.         echo 'Could Not Connect To Server.';
  10.     }
  11.     
  12.     //write the query to whois
  13.     fputs($sock,"$a_query\r\n");
  14.     //get the line of results
  15.     while(!feof($sock)) $result .= fgets($sock,128);
  16.     //close the connection
  17.     fclose($sock);
  18.     
  19.     if (eregi($available,$result)) {
  20.         echo $a_query . ' is available.';
  21.     } else {
  22.         echo $a_query . ' is not available.</b></font>';
  23.     }
  24. }
  25. if($query != ''){
  26.     if(!eregi(".com",$query) AND !eregi(".net",$query) AND !eregi(".org",$query)) {
  27.         echo 'You must specify a .com, .net, or .org domain name.';
  28.     } else {
  29.         $server = 'whois.internic.net';
  30.         whois($server,$query);
  31.     }
  32. } elseif(isset($query)) {
  33.     echo 'Please fill in a domain name and try again.';
  34. }


¿Qué demonios hace esta parte hacer?

Código: [ Select ]
while(!feof($sock)) $result .= fgets($sock,128);


¿Es la escritura la línea 128 a la variable resultado? Porque si lo es, no entiendo cómo esto demuestra que el dominio está disponible desde el whois.internic.net theres nada que puedo ver con mis ojos. He descargado desde un sitio web de este tipo hotscripts (me rompí #1 regla! ) Para tratar de averiguar whe el autor ha hecho, pero yo no lo entiendo. Bueno, creo que lo entiendo, pero Im no está seguro de cómo diablos hes conseguir sus resultados.

Consejo?
  • Anonymous
  • Bot
  • No Avatar
  • Registrado: 25 Feb 2008
  • Mensajes: ?
  • Loc: Ozzuland
  • Status: Online

Nota Abril 19th, 2004, 11:08 pm

  • gsv2com
  • Professor
  • Professor
  • Avatar de Usuario
  • Registrado: Ene 25, 2004
  • Mensajes: 776
  • Loc: Nippon
  • Status: Offline

Nota Abril 19th, 2004, 11:09 pm

Perdón. Por otra parte, los comentarios son el mío. Mi forma de "aprendizaje" de alguien elses código.
  • gsv2com
  • Professor
  • Professor
  • Avatar de Usuario
  • Registrado: Ene 25, 2004
  • Mensajes: 776
  • Loc: Nippon
  • Status: Offline

Nota Abril 20th, 2004, 1:10 am

En realidad, exec (whois domain.suffix) funciona muy bien. Problema resuelto! Mod, no dudes en suprimir todo este hilo si quieres, ya que parece Im sólo hablar a mí de todos modos.
  • _Leo_
  • Proficient
  • Proficient
  • Avatar de Usuario
  • Registrado: Feb 17, 2004
  • Mensajes: 279
  • Loc: Buenos Aires, Argentina
  • Status: Offline

Nota Abril 20th, 2004, 6:11 am

gsv2com escribió:
¿Qué demonios hace esta parte hacer?

Código: [ Select ]
while(!feof($sock)) $result .= fgets($sock,128);




Esa línea es la lectura del descriptor de archivo $ sock, siempre y cuando no llega a la final del contenido. Cada cadena (hasta 128 bytes) se añade a $ resultado.
  • gsv2com
  • Professor
  • Professor
  • Avatar de Usuario
  • Registrado: Ene 25, 2004
  • Mensajes: 776
  • Loc: Nippon
  • Status: Offline

Nota Abril 20th, 2004, 6:24 am

Este código es un truco barato a resolver el problema. He encontrado una manera más fácil, manera más exacta.
  • _Leo_
  • Proficient
  • Proficient
  • Avatar de Usuario
  • Registrado: Feb 17, 2004
  • Mensajes: 279
  • Loc: Buenos Aires, Argentina
  • Status: Offline

Nota Abril 20th, 2004, 8:04 am

Grandes, puesto que la solución aquí, para que otros puedan aprovechar demasiado.
  • gsv2com
  • Professor
  • Professor
  • Avatar de Usuario
  • Registrado: Ene 25, 2004
  • Mensajes: 776
  • Loc: Nippon
  • Status: Offline

Nota Abril 20th, 2004, 8:06 am

Malos hacerlo tan pronto como he perfeccionado el código. :)

Publicar Información

  • Total de mensajes en este tema: 7 mensajes
  • Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 238 invitados
  • No puede abrir nuevos temas en este Foro
  • No puede responder a temas en este Foro
  • No puede editar sus mensajes en este Foro
  • No puede borrar sus mensajes en este Foro
  • No puede enviar adjuntos en este Foro
 
 

© 2011 Unmelted, LLC. Ozzu® es una marca registrada de Unmelted, LLC