Página 1 de 3

Comprobar URL

NotaPublicado: 2008-04-09 16:54 @746
por situ
Quería consultarles si alguien tiene algún script el cual tenga como función comprobar si una url existe.

Digamos tengo una web la cual es: localhost.net/Carpeta/situ.html

Bueno me gustaría mediante Perl poder comprobar si "Carpeta/situ.html" existe de ser así que me lo muestre con un print y sino está, también diciendo que no existe.

Estuve buscando info pero no encontré mucho.

Gracias.

NotaPublicado: 2008-04-09 17:05 @753
por explorer
Sintáxis: [ Descargar ] [ Ocultar ]
Using bash Syntax Highlighting
perl -MLWP::Simple -le 'print "existe" if head("http://localhost.net/Carpeta/situ.html")'
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4

NotaPublicado: 2008-04-09 17:09 @756
por situ
Como siempre muchas gracias.

NotaPublicado: 2008-04-09 17:58 @790
por situ
Estoy tratando de hacer el script pero no me está funcionando :s

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
#!/usr/bin/perl

use LWP::Simple;

$host="http://www.localhost.net/";
chomp $host;

$web="index.php";
$web="situ.html";

for ($i=1;$i<3;$i++)
{

$cont=web.$i;
chomp $cont;
print "$cont\n";

$final=$host.$cont;

if (head($final)) {
print "$final existe";
 
 }
  }
 
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4

NotaPublicado: 2008-04-09 19:09 @839
por creating021
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
#!/usr/bin/env perl

use LWP::Simple;
use strict;

my $host = "http://www.localhost.net/";
my @web = qw(index.php situ.html);

foreach my $url ( @web ) {
    if ( head($host . $url) ) {
        print "$host$url existe\n";
    }
}
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4

NotaPublicado: 2008-04-10 11:05 @503
por situ
Gracias

NotaPublicado: 2008-04-15 12:01 @542
por situ
Una consulta: ¿hay posibilidad de adaptar el código a los módulos:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
use HTTP::Request;
use LWP::UserAgent;
 
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
?
Como hice en el post:
viewtopic.php?t=2458

Ya que el resultado final del script no es el correcto, están faltando algunas URL a mostrar, y estaba pensando que utilizando estos módulos el resultado sea el correcto.

Estoy tratando de migrarlo pero no estoy teniendo un resultado exitoso.

Gracias

NotaPublicado: 2008-04-15 14:10 @632
por explorer
Si las operaciones son simples, lo mejor es usar el LWP::Simple. get() obtiene la página, mientras que head() nos puede indicar si existe, si ha cambiado...

El cambiar de módulos no siempre arregla el problema, pues quizás el problema esté en la lógica de nuestro programa.

Sería interesante ver a qué te refieres con lo de 'no es el correcto'.

NotaPublicado: 2008-04-15 14:30 @646
por situ
A que el resultado no contiene todos los archivos que están.

Con una aplicación de mi trabajo que cumple casi la misma función veo que tengo 6 archivos, pero al probarlo con este script solo aparecen 4, digamos que me están faltando 2 al resultado.

NotaPublicado: 2008-04-15 15:58 @707
por explorer
Pues... vaya... no comprendo la relación de entre pedir dos páginas por medio de HTTP y lo de "obtener archivos"...

¿Te refieres a que esos archivos están descritos en la respuesta de alguno de los ficheros que te bajas por HTTP?