2016-03-30 6 views
5

Ich suchte SO, googelte mehr als 2 Tage und fand keine Antwort, die mir hilft.Wie verbinde ich mich mit FTP über TLS/SSL (FTPS) Server in Java

Ich bin stecken in Verbindung zu FTP über TLS/SSL (FTPS) -Server. Ich benutze die SimpleFTP-Bibliothek, um einen FTP-Server ohne SSL zu verbinden, konnte aber FTPS nicht verbinden.

Es mir diesen Fehler gibt in Zeile 2 (ftp.connect),

SimpleFTP received an unknown response when connecting to the FTP server:
220---------- Welcome to Pure-FTPd [privsep] [TLS] ----------

und ist mit folgendem 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(); 
+0

Wie verbinden Sie "ohne SSL"? Warum benutzt du SimpleFTP und nicht den Apache Commons Net 'FTPClient'? –

+0

Ich weiß nicht, wie man mit Apache Commons Net FTPClient verbindet, es wird eine große Hilfe sein, wenn Sie einige Beispielcode davon veröffentlichen. –

+0

@MartinPrikryl Dank Ihrer Antwort teilen Sie uns bitte Beispiel der Verbindung FTPS-Server mit Apache Commons Net FTPClient –

Antwort

8

Die SimpleFTP Klasse/Bibliothek nicht unterstützt TLS/SSL bei alle.


Verwenden Sie die FTPSClient class vom Apache Commons Net library statt.

Siehe die official example for the FTPClient class und ersetzen Sie einfach die FTPClient durch die FTPSClient.

FTPSClient ftpClient = new FTPSClient(); 
ftpClient.connect(host); 
ftpClient.login(user, password); 

Die FTPSClient Klasse standardmäßig auf eine explizite TLS/SSL (empfohlen). In seltenen Fällen benötigen Sie ein implizites TLS/SSL, verwenden Sie new FTPSClient(true).

+0

Ok ich werde das versuchen, lassen Sie es wissen .. vielen Dank. –

+0

Ich habe die obige Methode versucht, wie Sie FTPSClient con = new FTPSClient sagten (true); con.connect ("ftp.domain.com"); // Dieser Fehler wird ausgegeben, "konnte nicht mit ftp.domain.com/xxx.xxx.xx.xx (Port 990) verbunden werden: connect failed: ECONNREFUSED (Verbindung verweigert) –

+0

Warum versuchen Sie den impliziten Modus? Haben Sie? Versuchen Sie den empfohlenen expliziten Modus? –

Verwandte Themen