2016-03-30 22 views
5

Szukałem SO, googled przez więcej niż 2 dni i nie znalazłem żadnej odpowiedzi, która mi pomoże.Jak połączyć się z serwerem FTP przez TLS/SSL (FTPS) w Javie

Utknąłem w łączeniu się z serwerem FTP przez TLS/SSL (FTPS). Używam biblioteki SimpleFTP, ponieważ jestem w stanie połączyć serwer FTP bez SSL, ale nie mogę połączyć FTPS.

To daje mi ten błąd w wierszu 2 (ftp.connect)

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

i używam poniżej kod

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

Jak połączyć "bez SSL"? Dlaczego używasz SimpleFTP, a nie "FTPClient" Apache Commons Net? –

+0

Nie wiem, jak połączyć się przy użyciu FTP FTP Apache Commons, będzie to bardzo pomocne, jeśli zamieścisz w nim przykładowy kod. –

+0

@MartinPrikryl Dziękuję, proszę, udostępnij przykład podłączenia serwera FTPS za pomocą Apache Commons Net FTPClient –

Odpowiedz

8

SimpleFTP klasa/biblioteka nie obsługuje TLS/SSL w wszystko.


Użyj FTPSClient class z Apache Commons Net library zamiast.

Zobacz official example for the FTPClient class i wystarczy zamienić FTPClient na FTPSClient.

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

W FTPSClient klasy domyślnie wyraźnego TLS/SSL (zalecane). W rzadkich przypadkach potrzebujesz niejawnego TLS/SSL, użyj new FTPSClient(true).

+0

OK, spróbuję tego, daj znać ... dziękuję bardzo. –

+0

Próbowałem powyższej metody, jak powiedziałeś FTPSClient con = new FTPSClient (true); con.connect ("ftp.domena.com"); // daje ten błąd "nie udało się połączyć z ftp.domain.com/xxx.xxx.xx.xx (port 990): połączenie nie powiodło się: ECONNREFUSED (odmówiono połączenia) –

+0

Dlaczego próbujesz użyć trybu niejawnego? spróbuj zalecanego trybu jawnego? –

Powiązane problemy