Bonjour a tous,
jessaye de faire un programme qui se connecte a un ftp et lui upload
un fichier.
Quand je suis ds le reseau du serveur aucun probleme mon programme fonctionne.
Quand je tente depuis lexterieur mon programme si connecte puis plus rien.
Quand je fait la meme manip avec un client graphique ca marche mais je remarque
R] 200 Type set to A.
[R] PASV
[R] 227 Entering Passive Mode (,78,32)
[R] Opening data connection IP: 82.123.161.13 PORT: 20000
[R] LIST -al
[R] 150 Opening ASCII mode data connection for /bin/ls (167 bytes).
[R] 226 Transfer successful.
Voici le code de mon client :
&clear_error("Error connecting ftp1") unless my $ftp1 = Net::FTP->new($ftp_address, Passive => 1, Timeout => 60,Port =>$ftp_port);
&clear_error("Authentification fail") unless $ftp1->login($ftp_user, $ftp_pass);
&clear_error("binary mode error") unless$ftp1->binary();
#&clear_error("psv port recuperation") unless my $psv = $ftp1->pasv;
#print "le port recuperer est le ".$psv;
#&clear_error("error of sending port") unless $ftp1->port($pasv);
&clear_error("can't store") unless $ftp1->put($chemin.".zip");
$ftp1->close();
$ftp1->quit();
print "FTP transfert OK\n";
Je pense que la solution viendrait darriver a etablir une connexion en passive mode pour le transfert mais je ni arrive pas du tout.
g essayer dappeler pasv () qui me renvoie un numero de port mais je narrive pas du tout a lexploiter.
Si quelqun peut maider ca serais super sympa
![]()
Partager