GNT sans publicité, site mobile, fonctionnalitées exclusives...

Mode binaire de Net::FTP

Le
Pascal
Salut,

J'ai un problème en utilisant la librairie Net::FTP pour transférer des
fichiers binaires et textes d'un serveur Unix vers un PC Windows 2000.
J'utilise pour la fontion Net::FTP::Get().
En fait les fichiers semblent bien transférés sauf que des caractères de fin
de ligne 'OD' ont été rajoutés dans les fichiers binaires.
Pourtant j'ai bien pris la précaution d'activer le mode binaire comme en
témoigne le code ci-dessous :

my $opt_s = "myserver";
my $opt_u = "mylogin";
my $opt_p = "mypassword";
my $opt_r = "myremotedir";

$ftp = new Net::FTP ( $opt_s );
die "Failed to connect to server '$opt_s': $!" unless $ftp;

die "Failed to login as $opt_u" unless $ftp->login($opt_u, $opt_p);

warn "Failed to set binary mode" unless $ftp->binary();

print "Cannot change directory to $opt_r" unless $ftp->cwd($opt_r);
die "Failed to GET $l" unless $ftp->get("file.bin",
"$localdir/file.bin");
$ftp->quit if( defined($ftp) );

Je n'ai aucune idée de comment je pourrais résoudre mon problème. Si vous
avez une idée de l'erreur que je commets ou s'il y a un problème connu dans
cette librairie FTP, ou encore si vous pouvez me conseiller une bibliothèque
FTP qui n'a pas ce problème

Merci infiniment par avance
François
Lire les 3 réponses

Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Chris
Le #35234
Pascal wrote:
Salut,

J'ai un problème en utilisant la librairie Net::FTP pour transférer des
fichiers binaires et textes d'un serveur Unix vers un PC Windows 2000.
J'utilise pour la fontion Net::FTP::Get().
En fait les fichiers semblent bien transférés sauf que des caractères de fin
de ligne 'OD' ont été rajoutés dans les fichiers binaires.
Pourtant j'ai bien pris la précaution d'activer le mode binaire comme en
témoigne le code ci-dessous :

my $opt_s = "myserver";
my $opt_u = "mylogin";
my $opt_p = "mypassword";
my $opt_r = "myremotedir";

$ftp = new Net::FTP ( $opt_s );
die "Failed to connect to server '$opt_s': $!n" unless $ftp;

die "Failed to login as $opt_un" unless $ftp->login($opt_u, $opt_p);

warn "Failed to set binary moden" unless $ftp->binary();

print "Cannot change directory to $opt_rn" unless $ftp->cwd($opt_r);
die "Failed to GET $ln" unless $ftp->get("file.bin",
"$localdir/file.bin");
$ftp->quit if( defined($ftp) );

Je n'ai aucune idée de comment je pourrais résoudre mon problème. Si vous
avez une idée de l'erreur que je commets ou s'il y a un problème connu dans
cette librairie FTP, ou encore si vous pouvez me conseiller une bibliothèque
FTP qui n'a pas ce problème...

Merci infiniment par avance
François


Rajoute $ftp->binary pour forcer le mode binaire de ftp sinon depuis

windows par défaut tu es en mode ascii

A+
chris

alian
Le #35233
Je n'ai aucune idée de comment je pourrais résoudre mon problème. Si vous
avez une idée de l'erreur que je commets ou s'il y a un problème connu dans
cette librairie FTP, ou encore si vous pouvez me conseiller une bibliothèque
FTP qui n'a pas ce problème...


Sur quel os tourne ce script, sur le windows ? Et quelle version de Perl
utilisez vous ?

alian
Le #35232
...

warn "Failed to set binary moden" unless $ftp->binary();



...

Rajoute $ftp->binary pour forcer le mode binaire de ftp sinon depuis
windows par défaut tu es en mode ascii



Publicité
Suivre les réponses
Poster une réponse
Anonyme