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
Comente la respuesta en el mismo source xD.
#/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 (http://www.google.com/support/webmasters/bin/answer.py?hl=es&answer=40132)
Claro,pero si quiero comprobar 1 solo archivo de una web online??
osea si existe el archivo en el directorio web.
lo mismo, debes probar el code...
#/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
#/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..
Muchas gracias .. incognita solucionada(? xD