array("precio" =>'7,95', "registered" => "/Status: registeredED/", "free" => "/Status: FREE/", "invalid" => "/% Invalid pattern/"), 'tv' => array("precio" =>'20,95', "registered" => "/Status: CLIENT-XFER-PROHIBITED/", "free" => "/No match for/", "invalid" => "/Status: CLIENT-DELETE-PROHIBITED/"), 'eu' => array("precio" =>'6,95', "registered" => "/Registrant:/", "free" => "/Status: AVAILABLE/", "invalid" => "/Invalid pattern/"), // 'asia' => array("precio" =>'10,95', "registered" => "//", "free" => "//", "invalid" => "//"), 'at' => array("precio" =>'16,95', "registered" => "/registrant:/", "free" => "/% nothing found/", "invalid" => "/% nothing found/"), 'bz' => array("precio" =>'16,95', "registered" => "/Status:OK/", "free" => "/NOT FOUND/", "invalid" => "/Status:CLIENT DELETE PROHIBITED/"), 'ca' => array("precio" =>'12,95', "registered" => "/Domain status: EXIST/", "free" => "/Domain status: AVAIL/", "invalid" => "/Error code:/"), 'cc' => array("precio" =>'16,95', "registered" => "/Registrant:/", "free" => "/No match for /", "invalid" => "/XXXXXXXXXXXXXX/"), // 'ch' => array("precio" =>'27,95', "registered" => "//", "free" => "//", "invalid" => "//"), 'cn' => array("precio" =>'28,95', "registered" => "/Domain Name/", "free" => "/no matching record/", "invalid" => "/Sorry,/"), 'de' => array("precio" =>'7,95', "registered" => "/Domain: /", "free" => "/not found in database/", "invalid" => "/XXXXXXXXXXXXX/"), // 'dk' => array("precio" =>'12,95', "registered" => "//", "free" => "//", "invalid" => "//"), // 'fr' => array("precio" =>'15,95', "registered" => "//", "free" => "//", "invalid" => "//"), // 'it' => array("precio" =>'15,95', "registered" => "//", "free" => "//", "invalid" => "//"), 'in' => array("precio" =>'12,95', "registered" => "/Domain ID:/", "free" => "/NOT FOUND/", "invalid" => "/XXXXXXXXXXXXXXXX/"), 'li' => array("precio" =>'24,95', "registered" => "/Domain name:/", "free" => "/We do not have an entry/", "invalid" => "/XXXXXXXXXXXXXXXXXXXXXXXX/"), /* 'me' => array("precio" =>'16,95', "registered" => "//", "free" => "//", "invalid" => "//"), 'nl' => array("precio" =>'7,95', "registered" => "//", "free" => "//", "invalid" => "//"), 'us' => array("precio" =>'9,95', "registered" => "//", "free" => "//", "invalid" => "//"), 'ws' => array("precio" =>'15,95', "registered" => "//", "free" => "//", "invalid" => "//" */ ); $resultados = fopen ("./resultados_positivos.csv", "w+"); $excepciones = fopen ("./resultados_fallados.txt", "w+"); $listado = array(); print "Creamos el abecedario \n"; foreach ($letras as $letra1) { $listado[] = $letra1; foreach ($letras as $letra2) { $listado[] = $letra1.$letra2; foreach ($letras as $letra3) $listado[] = $letra1.$letra2.$letra3; } } print "Empezamos la busqueda \n"; foreach ($listado as $nombre) { sleep(10); print "Cambiamos de nombre del abecedario. El nuevo nombre es {$nombre}. \n"; foreach ($dominios as $dominio => $values) { sleep(5); print "Empezamos la busqueda de {$nombre}.{$dominio}\n"; $whois = shell_exec("whois {$nombre}.{$dominio}"); foreach ($values as $keyStatus => $mach) { if ($keyStatus == "precio") continue; if (preg_match($mach, $whois)) { //Escribes y borras el $whois; fwrite ($resultados, "\"{$nombre}.{$dominio}\", \"{$keyStatus}\", \"{$values[precio]}\", \"{$dominio}\" ;\n"); $whois = ""; break; } } //Error si $whois no está en blanco. if (!empty($whois)) { $tmp = "Hubo un error para el dominio {$nombre}.{$dominio}\n"; fwrite ($excepciones, "{$tmp}\n{$whois}\n\n\n\n\n\n\n\n\n\n\n\n\n\n"); } } } fclose ($resultados); fclose ($excepciones); print "\n";