Foros del Web » Programando para Internet » PHP »

Que es un Link Checker??

Estas en el tema de Que es un Link Checker?? en el foro de PHP en Foros del Web. Hola a todos alguien sabe que es un Link Checker??? Agradeceria mucho su respuesta... Bye...
  #1 (permalink)  
Antiguo 02/03/2004, 17:05
Avatar de elmasca  
Fecha de Ingreso: enero-2004
Ubicación: Mexico
Mensajes: 108
Antigüedad: 20 años, 3 meses
Puntos: 0
Que es un Link Checker??

Hola a todos alguien sabe que es un Link Checker???

Agradeceria mucho su respuesta...

Bye
__________________
"El conocimiento se debe de compartir"
  #2 (permalink)  
Antiguo 02/03/2004, 19:19
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 22 años, 3 meses
Puntos: 5
Es una aplicación o script para validar que un Link conduce a un sitio existente.

Usualmente se corren a nivel sitio, para validar que ningun link de tu pagina conduzca a paginas que no existen, o bien que pudieran estar mal formados (www,tal.com)

__________________
Manoloweb
  #3 (permalink)  
Antiguo 03/03/2004, 09:59
Avatar de elmasca  
Fecha de Ingreso: enero-2004
Ubicación: Mexico
Mensajes: 108
Antigüedad: 20 años, 3 meses
Puntos: 0
Hacer un Link Checker

Oye ahora necesito saber si alguien sabe como se hace un link checker, espero que alguien sepa como hacer uno y me lo pueda explicar, es que necesito hacer uno...

Gracias
__________________
"El conocimiento se debe de compartir"
  #4 (permalink)  
Antiguo 03/03/2004, 15:17
Avatar de Gerald  
Fecha de Ingreso: julio-2003
Mensajes: 1.356
Antigüedad: 20 años, 9 meses
Puntos: 2
utiliza el buscador del foro he visto varios post de lo que tu buscas "comprobar url"
__________________
Solo por Hoy: Trataré de fortalecer mi mente. Estudiaré y aprenderé algo útil
Hoteldipity
Arte Caracol
  #5 (permalink)  
Antiguo 03/03/2004, 17:03
Avatar de elmasca  
Fecha de Ingreso: enero-2004
Ubicación: Mexico
Mensajes: 108
Antigüedad: 20 años, 3 meses
Puntos: 0
Verificar la existencia de un URL

Hola muchas gracias por tu respuesta creo que encontre algunas cosas, pero lo que si me llamo la atension es que hay un post "Verificar la exitencia de una URL", la cual seria algo de lo que mas a menos necesito, lo malo es que esta en ASP y la verdad no se mucho de ASP y lo que quisiera saber es como hacerlo en PHP. Espero que esten entendiendo mi pregunta, lo que quiero hacer es algo parecido a la que hace el programa XENU, que lo comprueba URL en linea.

Espero que me den algunos tips de como comenzar a hacerlo.....

Muchas gracias por todo

__________________
"El conocimiento se debe de compartir"
  #6 (permalink)  
Antiguo 03/03/2004, 18:38
Avatar de Gerald  
Fecha de Ingreso: julio-2003
Mensajes: 1.356
Antigüedad: 20 años, 9 meses
Puntos: 2
http://www.forosdelweb.com/showthrea...=verificar+url

para que te des una idea, hay que mejorarlo mas segun cluster ! y ya sabes si cluster suena es porque piedras trae!!

Piedras = buenos consejos xD
__________________
Solo por Hoy: Trataré de fortalecer mi mente. Estudiaré y aprenderé algo útil
Hoteldipity
Arte Caracol
  #7 (permalink)  
Antiguo 03/03/2004, 20:45
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 22 años, 3 meses
Puntos: 5
1.-Haces un fopen o file hacia la pagina principal del sitio que deseas checar

2.-"Lees" el archivo con una función que te permita buscar hipervínculos (por ejemplo algun PREG_MATCH o similar)

3.-Corres el proceso de verificación de URL que te has encontrado para cada coincidencia.

4.-Para todos los links que se refieran al mismo dominio (puedes verificarlo con un preg_match otra vez), vuelves a hacer el mismo proceso, hasta que hayas recorrido todas las opciones de esa página.


NOTAS: No será tan sencillo como parece, pues deberás desarrollar funciones que interpreten ligas que puedan estar en formatos diferentes a los tradicionales, por ejemplo:

href="../../talcosa.html"
href="pagina.html"
href="#ancla"
href="javascript:open('talcosa.htm',bla bla)"

Para cada una de esas variantes puedo visualizar todo un complejo sistema de busquedas y reemplazos antes de conseguir un URL válido para meterlo al verificador...

No será un trabajo fácil, pero si quieres hacerlo, me dará mucho gusto ayudarte en el camino.

__________________
Manoloweb
  #8 (permalink)  
Antiguo 04/03/2004, 09:54
Avatar de elmasca  
Fecha de Ingreso: enero-2004
Ubicación: Mexico
Mensajes: 108
Antigüedad: 20 años, 3 meses
Puntos: 0
Creo que ya tengo el comienzo

Hola a todos los que se han interesado en contestar mi duda y de verdad que si me ha sido de gran ayuda. Con lo que he visto y me han dicho creo ya saber por donde, pero haber si estoy entendiendo bien.

Tengo que abrir la pagina que voy checar con el fopen, entonces me imagino que lo que hara esta linea ¿sera leer el codigo fuente de la pagina??, y si es asi entonces tengo que ir checando todos los hypervinculos que existan dentro de esa misma uno por uno??

Entonces yo podria determinar el nivel de hasta donde quiero que se vayan checando links??

Bueno creo que fueron demasiadas preguntas, pero muchas gracias Manoloweb por toda la ayuda que me vas a brindar y que creo que sera bastantita , pero creo que ya tengo un buen comienzo...


Ahhh Otra cosa dentro de esto como puedo checar los diferentes tipo de errores e.j. 404,405 etc..(Es que no se los demas)?? jejejeje


Bueno ahora si em despido y muchas gracias a todos


__________________
"El conocimiento se debe de compartir"
  #9 (permalink)  
Antiguo 04/03/2004, 10:43
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 22 años, 3 meses
Puntos: 5
Efectivamente, un Fopen te abrirá el "código fuente" de la página, pero que quede claro que se refiere al código HTML que es enviado al navegador, no el script con el que fue creada.

Si tu intención es leer los códigos de error y otros encabezados de las peticiones creo que la forma de "leer" los archivos va a ser diferente...

Date una vuelta por la definición de las funciones CURL para que te des una idea de lo que vas a necesitar...

http://mx.php.net/curl

__________________
Manoloweb
  #10 (permalink)  
Antiguo 04/03/2004, 10:55
Avatar de elmasca  
Fecha de Ingreso: enero-2004
Ubicación: Mexico
Mensajes: 108
Antigüedad: 20 años, 3 meses
Puntos: 0
Gracias de nueva cuenta Manoloweb, creo que tengo tarea para rato porque si esta un poco extenso, pero bueno creo que lo checare bien y entonces vere para que sirve.

Si tengo alguna duda sobre eso te lo hare saber OK , bueno ahora a trabajar y estare en contacto contigo.

P.D. Si quieres agregar algo mas para que se me haga tan dificil esto te lo agradecere

Muchas Gracias
__________________
"El conocimiento se debe de compartir"
  #11 (permalink)  
Antiguo 04/03/2004, 11:23
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

Algo menos completo que cURL puede ser usar fsockopen() (www.php.net/fsockopen) para el acceso a la pagina remota.

Y sobre el parseo del codigo HTML, añadir que tambien debes tener en cuenta el tag <base>.

Y tambien te recomendaria pasarte por http://pear.php.net , donde puedes encontrar scripts de parseo.

Suerte.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #12 (permalink)  
Antiguo 04/03/2004, 12:54
Avatar de elmasca  
Fecha de Ingreso: enero-2004
Ubicación: Mexico
Mensajes: 108
Antigüedad: 20 años, 3 meses
Puntos: 0
Creo que me estoy haciendo bolas

Hola antes que nada. Le doy las gracias a josemi por tomarse la molestia de ayudarme con esta duda, ahora creo que me estoy haciendo bolas entre el CURL y el fsockopen y el parseo. Me pregunto acaso es tan dificil dectectar los errores?. Por ahora leere todo lo que me han dicho pero necesito me pudieran abrir un poco mas el panorama porque si me estoy confundiendo un poquito.

Como lo mencione antes muchas gracias a todos los que estan colaborando para ayudarme con estas dudas que tengo...

Y la verdad no quiero parecer encajoso pero si pudieran ser un poquitito mas explicitos en algunas cosas se los agradeceria aun mas..

De ante mano veo que todos son muy buenos en esto del PHP.

__________________
"El conocimiento se debe de compartir"
  #13 (permalink)  
Antiguo 04/03/2004, 14:25
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Bueno, intentare hacerlo corto.

Todas las peticiones web usan el protocolo HTTP. Este protocolo define uno mensajes de texto. Estos mensajes estan compuestos por unas cabeceras y un cuerpo. En las cabeceras se especifican datos como la accion a realizar, tipo de mensaje, codificacion del mensaje, estado, etc. Y el cuerpo suele ser pues el HTML de una pagina, los datos binarios de una imagen, etc. La comunicacion navegador-servidor web es un intercambio de esos mensajes.

Tu link checker tiene que simular un navegador. Para eso debes implementar ese intercambio de mensajes (directamente en HTTP o mediante de cURL).

Te comento con fsockopen(), que seria lo mas dificil. Con fsockopen() primero tienes que mirar si se ha establecido el socket con el servidor remoto. Si no recuerdo mal, si devuelve false es que ha habido un error en la conexion. Este error puede ser que el servidor (o dominio) que le has indicado no exista o no responda. Si se conecta, entonces tienes que implementar los mensajes HTTP para leer la pagina. El mensaje normal es el GET con la ruta de la pagina. Exista esa pagina o no, el socket te devuelve un mensaje. Dentro de ese mensaje vendra la informacion de estado. Si es un error 404, es que esa pagina no existe; si es un 401 es que no tienes permisos para acceder; si es un 302 es que te quiere redireccionar a otra URL; si es un 200 es que existe y en el cuerpo viene el HTML; y asi con los codigos de estado. Tu tienes leer esa informacion de estado y determinar la siguiente accion. Si es el 200, cogerias el cuerpo del mensaje y "extraerias" los links. Luego repeterias el bucle con esos links.

En http://www.w3.org/Protocols/rfc2616/rfc2616.html tienes informacion sobre HTTP.

Suerte.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #14 (permalink)  
Antiguo 04/03/2004, 15:49
Avatar de elmasca  
Fecha de Ingreso: enero-2004
Ubicación: Mexico
Mensajes: 108
Antigüedad: 20 años, 3 meses
Puntos: 0
Sonrisa Ahi va mas o menos

Gracias josemi me has abierto mas el panorama de esa funcion y creeme que voy a leer el articulo para ver que es lo que tengo que hacer, pero dudes que voy a tener muchas preguntas y pues como dices a lo mejor no es tan facil pero creo que con tu ayuda y la de algunos otros que me quieran ayudar pues lograre hacer mi famosisimo Link Checker.

No se si seria mucha molestia que me explicaras un poco mas de lo de el parseo para ver a que le tengo que tirar.

Bueno muchas gracias por el momento si alguien mas tiene algo que aportar se lo agradecere muchisimo.



Gracias
__________________
"El conocimiento se debe de compartir"
  #15 (permalink)  
Antiguo 05/03/2004, 14:22
Avatar de elmasca  
Fecha de Ingreso: enero-2004
Ubicación: Mexico
Mensajes: 108
Antigüedad: 20 años, 3 meses
Puntos: 0
Algunas preguntas

Hola josemi, como estas antes que nada, tengo algunas dudas con respecto al fsockopen(); lo que pasa es que estuve leyendo el articulo y hay algunos ejemplos pero veo que en uno de ellos creo que usan lo del parseo que mencionanste anteriormente, la verdad no he leido lo del parseo pero que tiene que ver el parseo con esto??.

Bueno te paso un tramo del codigo que hay:

function url_validate($link)
{
$url_parts = @parse_url($link);
if ( empty( $url_parts["host"] ) )
return( false);

if ( !empty( $url_parts["path"] ) )
{
$documentpath = $url_parts["path"];
}
else
{
$documentpath = "/";
}
...

}

Bueno quiero saber si es ahi donde ocupan parseo y que es lo que supuestamente esta haciendo en esa parte del codigo... jejeje espero no estar molestando mucho

Pero te lo agradecere demasiado que me orientes un poco mas...


Gracias
__________________
"El conocimiento se debe de compartir"
  #16 (permalink)  
Antiguo 08/03/2004, 10:13
Avatar de elmasca  
Fecha de Ingreso: enero-2004
Ubicación: Mexico
Mensajes: 108
Antigüedad: 20 años, 3 meses
Puntos: 0
Hola a todos de nuevo, solo les escribo para ver si me pueden explicar un poco mas sobre el parseo.

Gracias
__________________
"El conocimiento se debe de compartir"
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 03:33.