Perl comprobacion de archivos webs.

Iniciado por PHAMTOM, 10 Marzo 2010, 17:48 PM

0 Miembros y 1 Visitante están viendo este tema.

PHAMTOM

Buenas tardes, podria pedir un ejemplo de como verificar un archivo existente en una pagina web con perl y la biblioteca LWP , ejemplo

quiero verificar que un archivo.php , exista en una pagina web o no de esta forma

miweb.com/ejemplo.php

Quiero verificar con LWP si el archivo ejemplo.php existe y si existe , imprimir con un print "OK"; y de lo contrario Print "No";

Saludos,muchas gracias de antemano.

PHAMTOM
Miran a cualquier ventana, mientras su pánico emana
y nubla su visión mi calma es pura precisión
cargo munición y miro tranquilo
ya ni respiro desde al ático os vigilo sigo al filo os tengo a tiro!

La kitchner quiere tanto a los pobres,que cada vez,tiene más

~ Yoya ~

Comente la respuesta en el mismo source xD.

Código (perl) [Seleccionar]
#/usr/bin/perl
use LWP::UserAgent;#Con este modulo indicamos nuestro user agent
use HTTP::Response;#Con este obtenemos la respuesta de la pagina

my $ua = new LWP::UserAgent;#Le agregamos el objecto User Agent a la variable
$ua->agent('Mozilla/5.0 (X11; U; Linux i686; es-ES; rv:1.9.2.2pre) '.
'Gecko/20100308 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre');#Indicamos el user agent

my $peticion = new HTTP::Request GET =>"http://www.elhacker.net";#Hacemos la peticion GET
my $response = $ua->request($peticion);

if($response->is_success){#Si la web esta On devuelve true, y con el if indicamos si
                          #existe $response->is_success y como true es igual a 1
                          #El if se cumple y se ejecuta lo que esta dentro
                          #Si la web esta Off el if no se ejecuta porque devuelve false
    print "La web esta online\n";
    print $response->status_line, "\n";#El estatu de la web...
    exit;#Finalizamos el script
}else{print "La web esta off\n";exit;}




Salida:
yoya@yoya-desktop:~/Escritorio$ perl a.pl
La web esta online
200 OK


Info sobre los estados de las web...
Info
Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.

PHAMTOM

Claro,pero si quiero comprobar 1 solo archivo de una web online??

osea si existe el archivo en el directorio web.
Miran a cualquier ventana, mientras su pánico emana
y nubla su visión mi calma es pura precisión
cargo munición y miro tranquilo
ya ni respiro desde al ático os vigilo sigo al filo os tengo a tiro!

La kitchner quiere tanto a los pobres,que cada vez,tiene más

~ Yoya ~

lo mismo, debes probar el code...
Código (perl) [Seleccionar]
#/usr/bin/perl
use LWP::UserAgent;#Con este modulo indicamos nuestro user agent
use HTTP::Response;#Con este obtenemos la respuesta de la pagina

my $ua = new LWP::UserAgent;#Le agregamos el objecto User Agent a la variable
$ua->agent('Mozilla/5.0 (X11; U; Linux i686; es-ES; rv:1.9.2.2pre) '.
'Gecko/20100308 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre');#Indicamos el user agent
$pag = 'http://foro.elhacker.net/search.html';

my $peticion = new HTTP::Request GET =>$pag;#Hacemos la peticion GET
my $response = $ua->request($peticion);

if($response->is_success){#Si la web esta On devuelve true, y con el if indicamos si
                          #existe $response->is_success y como true es igual a 1
                          #El if se cumple y se ejecuta lo que esta dentro
                          #Si la web esta Off el if no se ejecuta porque devuelve false
    print "La web esta online\n";
    print $response->status_line, "\n";#El estatu de la web...
    exit;#Finalizamos el script
}else{print "La web esta off\n";exit;}

yoya@yoya-desktop:~/Escritorio$ perl a.pl
La web esta online
200 OK

En este caso es a:
http://foro.elhacker.net/search.html

Pero si le hago una peticion a un archivo que no exista:
http://foro.elhacker.net/proafile.hatml
Código (perl) [Seleccionar]
#/usr/bin/perl
use LWP::UserAgent;#Con este modulo indicamos nuestro user agent
use HTTP::Response;#Con este obtenemos la respuesta de la pagina

my $ua = new LWP::UserAgent;#Le agregamos el objecto User Agent a la variable
$ua->agent('Mozilla/5.0 (X11; U; Linux i686; es-ES; rv:1.9.2.2pre) '.
'Gecko/20100308 Ubuntu/9.10 (karmic) Namoroka/3.6.2pre');#Indicamos el user agent
$pag = 'http://foro.elhacker.net/proafile.hatml';

my $peticion = new HTTP::Request GET =>$pag;#Hacemos la peticion GET
my $response = $ua->request($peticion);

if($response->is_success){#Si la web esta On devuelve true, y con el if indicamos si
                          #existe $response->is_success y como true es igual a 1
                          #El if se cumple y se ejecuta lo que esta dentro
                          #Si la web esta Off el if no se ejecuta porque devuelve false
    print "La web esta online\n";
    print $response->status_line, "\n";#El estatu de la web...
    exit;#Finalizamos el script
}else{print "La web esta off\n";exit;}


Salida:
yoya@yoya-desktop:~/Escritorio$ perl a.pl
La web esta off


Debes saber como funciona el código que puse porque si no sabes te limitaras a copiarlo y siempre tendrás problemas porque no sabes lo que haces, para la próxima te digo como lo puedes hacer, no te doy el código, así aprendes xD.

Pd:Soy muy bueno xD..

Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.

PHAMTOM

Muchas gracias .. incognita solucionada(? xD
Miran a cualquier ventana, mientras su pánico emana
y nubla su visión mi calma es pura precisión
cargo munición y miro tranquilo
ya ni respiro desde al ático os vigilo sigo al filo os tengo a tiro!

La kitchner quiere tanto a los pobres,que cada vez,tiene más