Mie Abr 09, 2008 3:54 pm
|
 |
situ
Perlero Frecuente

|
Registrado: 09 Abr 2007
Mensajes: 143
|
|
| Comprobar URL |
|
|
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. |
|
|
|
Mie Abr 09, 2008 4:09 pm
|
 |
situ
Perlero Frecuente

|
Registrado: 09 Abr 2007
Mensajes: 143
|
|
|
|
|
| Como siempre muchas gracias. |
|
Mie Abr 09, 2008 4:58 pm
|
 |
situ
Perlero Frecuente

|
Registrado: 09 Abr 2007
Mensajes: 143
|
|
|
|
|
Estoy tratando de hacer el script pero no me está funcionando :s
| Perl: |
#!/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";
}
}
|
|
|
Mie Abr 09, 2008 6:09 pm
|
 |
creating021
Vive para Perl en Español

|
Registrado: 23 Feb 2006
Mensajes: 487
Ubicación: Frente al monitor
|
|
|
|
|
| Perl: | #!/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";
}
} |
|
|
Jue Abr 10, 2008 10:05 am
|
 |
situ
Perlero Frecuente

|
Registrado: 09 Abr 2007
Mensajes: 143
|
|
|
|
|
| Gracias |
|
Mar Abr 15, 2008 1:10 pm
|
 |
explorer
Moderador

|
Registrado: 24 Jul 2005
Mensajes: 4142
Ubicación: Valladolid, España
|
|
|
|
|
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'. |
|
Mar Abr 15, 2008 1:30 pm
|
 |
situ
Perlero Frecuente

|
Registrado: 09 Abr 2007
Mensajes: 143
|
|
|
|
|
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. |
|
Mar Abr 15, 2008 2:58 pm
|
 |
explorer
Moderador

|
Registrado: 24 Jul 2005
Mensajes: 4142
Ubicación: Valladolid, España
|
|
|
|
|
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? |
|
Mar Abr 15, 2008 3:52 pm
|
 |
situ
Perlero Frecuente

|
Registrado: 09 Abr 2007
Mensajes: 143
|
|
|
|
Mar Abr 15, 2008 4:47 pm
|
 |
kidd
Creador de Perl en Español

|
Registrado: 15 Oct 2003
Mensajes: 1389
Ubicación: México
|
|
|
|
|
| En el código que te mostré al final, antes de hacer la búsqueda del archivo primero verifica que haya sido éxitosa la petición, entonces ya está haciendo justo lo que quieres. |
|
Mar Abr 15, 2008 5:43 pm
|
 |
situ
Perlero Frecuente

|
Registrado: 09 Abr 2007
Mensajes: 143
|
|
|
|
|
| Kidd, ¿cuál? |
|
Mie Abr 16, 2008 6:44 am
|
 |
kidd
Creador de Perl en Español

|
Registrado: 15 Oct 2003
Mensajes: 1389
Ubicación: México
|
|
|
|
Mie Abr 16, 2008 10:05 am
|
 |
situ
Perlero Frecuente

|
Registrado: 09 Abr 2007
Mensajes: 143
|
|
|
|
|
| Muchas gracias. |
|
Powered by phpBB © 2001, 2005 phpBB Group
|