Comment faire pour se connecter en FTP sur TLS/SSL (FTPS) serveur en Java
J'ai DONC cherché, cherché sur google plus que 2 jours et n'a pas trouvé de réponse qui m'aide.
Je suis coincé dans la connexion en FTP sur TLS/SSL (FTPS) du serveur. Je suis à l'aide de SimpleFTP de la bibliothèque par le biais de suis en mesure de se connecter serveur FTP sans SSL, mais ne pouvait pas se connecter FTPS.
Il me donne cette erreur à la ligne 2 (ftp.connect),
SimpleFTP reçu une réponse inconnu lors de la connexion au serveur FTP:
220---------- Bienvenue à Pure-FTPd [privsep] [TLS] ----------
et je suis à l'aide de 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();
Comment vous connectez-vous "sans SSL"? Pourquoi utilisez-vous SimpleFTP et pas Apache Commons Net
Je ne sais pas comment le connecter à l'aide d'Apache Commons Net FTPClient, il sera d'une grande aide si vous postez un exemple de code.
Merci de votre réponse s'il vous plaît partagez exemple de connexion FTPS utilisant le serveur Apache Commons Net FTPClient
C'était une offre à ne pas écrire le code pour vous. Je me demandais simplement pourquoi vous avez fait ce choix. Si vous décidez de passer à l'Apache Communes Net, poser une nouvelle question.
pouvez-vous dire quel est le problème dans le code ci-dessus, pourquoi il est en donnant que l'erreur?
FTPClient
?Je ne sais pas comment le connecter à l'aide d'Apache Commons Net FTPClient, il sera d'une grande aide si vous postez un exemple de code.
Merci de votre réponse s'il vous plaît partagez exemple de connexion FTPS utilisant le serveur Apache Commons Net FTPClient
C'était une offre à ne pas écrire le code pour vous. Je me demandais simplement pourquoi vous avez fait ce choix. Si vous décidez de passer à l'Apache Communes Net, poser une nouvelle question.
pouvez-vous dire quel est le problème dans le code ci-dessus, pourquoi il est en donnant que l'erreur?
OriginalL'auteur Abdul Rafay | 2016-03-30
Vous devez vous connecter pour publier un commentaire.
La
SimpleFTP
classe/bibliothèque ne prend pas en charge le protocole TLS/SSL.Utiliser le
FTPSClient
de la classe de la Apache Commons Net de la bibliothèque à la place.Voir le officiel exemple pour le
FTPClient
de la classe et juste remplacer laFTPClient
avec leFTPSClient
.La
FTPSClient
classe par défaut explicite de TLS/SSL (recommandé). Dans de rares cas, vous avez besoin d'un implicite TLS/SSL, utiliseznew FTPSClient(true)
.j'ai essayé la méthode ci-dessus, comme vous l'avez dit FTPSClient con = new FTPSClient(true); con.connect("ftp.domain.com"); //on donne ce message d'erreur "impossible de se connecter à http://ftp.domain.com/xxx.xxx.xx.xx (port 990): échec de la connexion: ECONNREFUSED (Connection refused)
Pourquoi essayez-vous de la mode implicite? Avez-vous essayé le recommandé explicite mode?
j'ai essayé comme cela aussi, FTPSClient con = new FTPSClient(true); con.connect("ftp.domain.com",21); puis il donne cette erreur "impossible DE FAIRE la poignée de main la cause = {javax.net.ssl.SSLProtocolException@20290}"javax.net.le protocole ssl.SSLProtocolException: SSL handshake abandonnée: ssl=0x9c937800: Échec de la bibliothèque SSL, généralement une erreur de protocole\nerreur:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:protocole inconnu (externe/openssl/ssl/s23_clnt.c:795 0xaec87679:0x00000000)"
Le
new FTPSClient(true); con.connect("ftp.domain.com",21)
est un non-sens. Vous ne pouvez pas vous connecter avec mode implicite, sur le port 21.OriginalL'auteur Martin Prikryl