Ver Mensaje Individual
  #11 (permalink)  
Antiguo 22/10/2003, 14:09
ezetra
 
Fecha de Ingreso: octubre-2003
Mensajes: 109
Antigüedad: 20 años, 6 meses
Puntos: 1
Esto es lo que le pongo

function parametros($entrada)
{
//Analiza una URL y devuelve sus componentes en un array
$ArrayUrl = parse_url($entrada);
$port=$ArrayUrl['port'];
$host=$ArrayUrl['host'];
$path=$ArrayUrl['path'];
if (!$port) $port = "80";
if ($port != "80") $port = $port;

$return['port']=$port;
$return['host']=$host;
$return['path']=$path;

return $return;
}
function ValidarVinculos($vinculo)
{

$request="";
//llamada a la función anterior
$urlArray= parametros($vinculo);
//Abre una conexión de dominio Internet o Unix via sockets. Si falla devuelve falso

$sock = fsockopen($urlArray['host'], $urlArray['port'], &$errno, &$errstr, 60);
if (!$sock)
echo "No responde";
// $contesta['code'] = "No responde";
else
{
$request .= "HEAD $urlArray[path] HTTP/1.1\r\n";
$request .= "User-Agent: Valid link (<a href=\"out.php?http%3A%2F%2Fcentropromoweb.com\" target=\"_blank\">http://centropromoweb.com</a>)\r\n";
$request .= "Host: $urlArray[host]\r\nConnection: close\r\n";
$request .= "Connection: close\r\n\r\n";

//escribe en el fichero la petición anterior
fputs($sock, $request);
//leer hasta la posición 128
//trim: Elimina espacios del principio y final de una cadena del tipo \n

while($str = fgets($sock, 128))
{
if (eregi("^http/[0-9]+.[0-9]+ ([0-9]{3}) [a-z ]*", $str)) $contesta['code'] = trim(eregi_replace("^http/[0-9]+.[0-9]+ ([0-9]{3}) [a-z ]*", "\1", $str));

if (eregi("^Content-Type: ", $str)) $contesta['contentType'] = trim(eregi_replace("^Content-Type: ", "", $str));
if (eregi("text/html", $str)) $contesta['contentType'] = "text/html";

if (eregi("^Content-Length: ", $str)) $contesta['peso'] = trim(eregi_replace("^Content-Length: ", "", $str));

}
echo "Sí responde";
}


}
//le paso uno que no existe
ValidarVinculos("http://www.zaraempleo.net/PEPIN");

?>