Comment se connecter au serveur FTP sur TLS / SSL (FTPS) en Java
J'ai donc cherché sur Google plus de 2 jours et je n'ai trouvé aucune réponse qui m'aide.
Je suis coincé dans la connexion au serveur FTP sur TLS/SSL (FTPS). J'utilise la bibliothèque SimpleFTP via suis capable de connecter un serveur FTP sans SSL mais je n'ai pas pu connecter FTPS.
Il me donne cette erreur à la ligne 2 (ftp.connexion),
SimpleFTP a reçu une réponse inconnue lors de la connexion au serveur FTP:
220---------- Bienvenue sur Pure-FTPd [privsep] [TLS] ----------
Et j'utilise le code ci-dessous
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();
1 answers
La classe/bibliothèque SimpleFTP
ne prend pas du tout en charge TLS/SSL.
Utiliser le FTPSClient
class de la bibliothèque Apache Commons Net à la place.
Voir officielles exemple pour la FTPClient
classe et remplacez simplement le FTPClient
avec 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)
.