Página 1 de 1

Problema con el módulo Net::FTP

NotaPublicado: 2008-11-12 03:44 @197
por sernamar
Este es mi primer mensaje en el foro, por lo que sirva también de presentación en el mismo.

Estoy intentando hacer un script de prueba para conectarme por FTP a un sitio, bajarme ciertos ficheros y desconectarme, todo ello usando el módulo Net::FTP.

Pero resulta que no puedo conectarme al servidor. En consola lo que me sale es esto:
Código: Seleccionar todo
No se pudo conectar al servidor at /home/sernamar/scripts/prueba.pl line 16.


El script prueba.pl es el siguiente:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
#! usr/bin/perl -w

use strict;
use warnings;
use Net::FTP;


# Datos para conectarse al IGS
# ----------------------------
my $address = "ftp://igs.ensg.ign.fr";
my $username = "anonymous";
my $pwd = '[email protected]';

# Conectar al servidor
# --------------------
my $ftp = Net::FTP->new($address,Debug => 1) or die("No se pudo conectar al servidor");
$ftp->login($username,$pwd);

# Deconectar del servidor
# -----------------------
$ftp->quit or die("No se pudo desconectar del servidor: $!");
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


No sé cuál puede ser el problema. Tengo el módulo instalado, y en @INC está el path al mismo.

NotaPublicado: 2008-11-12 07:17 @345
por salva
No uses una URL como nombre del servidor:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
my $address = 'igs.ensg.ign.fr';
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4

NotaPublicado: 2008-11-12 10:25 @476
por sernamar
La verdad es que estoy acostumbrado a conectar a través del navegador (introduciendo la URL) y no sabía que sólo tenía que poner el nombre del servidor.

Gracias, Salva

Un saludo

NotaPublicado: 2008-11-19 16:05 @712
por natxo
sernamar escribiste:La verdad es que estoy acostumbrado a conectar a través del navegador (introduciendo la URL) y no sabía que sólo tenía que poner el nombre del servidor.


la parte ftp:// en una url se refiere al protocolo, igual que http://, mailto://, gopher://, irc://, news://, ... y me dejo alguna :-) . Lo que viene detrás es el nombre de la máquina.

Acostúmbrate a verificar el resultado de las operaciones. Si miras en la documentación del módulo, ves que podías haber puesto esto:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
my $ftp = Net::FTP->new($address, Debug => 1) or die($@);
 
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4

Al ejecutar el script, habrías visto este error:
Sintáxis: [ Descargar ] [ Ocultar ]
Using bash Syntax Highlighting
Net::FTP: Bad hostname 'ftp://igs.ensg.ign.fr' at kk.pl line 16.
 
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4

el cual te habría ayudado bastante a ver cual era el fallo inicial :-)

NotaPublicado: 2008-11-25 14:28 @644
por sernamar
Pues gracias Natxo por el apunte, tomo nota para la próxima vez, leeré detenidamente la documentación :oops:

Un saludo