Je suis bloqué dans la connexion au serveur FTP via TLS/SSL (FTPS). J'utilise la bibliothèque SimpleFTP grâce à la possibilité de connecter un serveur FTP sans SSL mais je n'ai pas pu connecter FTPS.
Cela me donne cette erreur à la ligne 2 (ftp.connect),
SimpleFTP a reçu une réponse inconnue lors de la connexion au serveur FTP:
220 ---------- Bienvenue dans Pure-FTPd [privsep] [TLS] ----------
et j'utilise ci-dessous le code
SimpleFTP ftp = new SimpleFTP();
// Connect to an FTP server on port 21.
ftp.connect("xxx.xxx.xxx.xxx", 21, "username", "pwd");
//getting error at (ftp.connect) above line
// Set binary mode.
ftp.bin();
// Change to a new working directory on the FTP server.
ftp.cwd("web");
ftp.disconnect();
La classe/bibliothèque SimpleFTP
ne prend pas du tout en charge TLS/SSL.
Utilisez plutôt la classe FTPSClient
de la bibliothèque Apache Commons Net .
Voir exemple officiel de la classe FTPClient
et remplacez simplement le FTPClient
par le FTPSClient
.
FTPSClient ftpClient = new FTPSClient();
ftpClient.connect(Host);
ftpClient.login(user, password);
La classe FTPSClient
utilise par défaut un TLS/SSL explicite (recommandé). Dans de rares cas, vous avez besoin d'un TLS/SSL implicite, utilisez new FTPSClient(true)
.