FTP over TLS/SSL(FTPS)サーバーへの接続が行き詰まっています。 SSLなしでFTPサーバーに接続できるが、FTPSに接続できなかったため、SimpleFTPライブラリを使用しています。
2行目(ftp.connect)でこのエラーが発生しています。
SimpleFTPがFTPサーバーへの接続時に不明な応答を受信しました:
220 ---------- Pure-FTPd [privsep] [TLS]へようこそ----------
以下のコードを使用しています
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();
SimpleFTP
クラス/ライブラリはTLS/SSLをまったくサポートしていません。
代わりに Apache Commons Netライブラリ の FTPSClient
class を使用してください。
FTPClient
クラスの公式例 を参照して、FTPClient
をFTPSClient
に置き換えてください。
_FTPSClient ftpClient = new FTPSClient();
ftpClient.connect(Host);
ftpClient.login(user, password);
_
FTPSClient
クラスのデフォルトは、明示的なTLS/SSLです(推奨)。まれに、暗黙のTLS/SSLが必要な場合は、 new FTPSClient(true)
を使用します。