执行 ftp 时出现错误 "javax.net.ssl.SSLException: 530 Please login with USER and PASS"

Getting error "javax.net.ssl.SSLException: 530 Please login with USER and PASS" while performing ftp

我在从 ubuntu 机器到同一台机器执行 ftp 时遇到以下错误。我已经完成了完整的设置并且能够使用 Filezilla 传输文件。但是当从代码中做同样的事情时,它会出错。下面我展示了代码片段。

String PROTOCOL= "SSL"; //I Have tried with TLS also
FTPSClient ftpsClient = new FTPSClient(PROTOCOL, false);
ftpsClient.setTrustManager(TrustManagerUtils.getAcceptAllTrustManager());
ftpsClient.connect("192.168.13.5",21);
ftpsClient.login(userName, password);

我收到错误 530 请使用 USER 和 PASS 登录。仅连接时。它甚至不会登录语句。

有人可以指出我做错了什么吗?

我不太确定,但是当你说你在一台机器上使用服务器和客户端时,你必须使用 localhost 127.0.0.1 作为 IP 地址

I am getting the error 530 Please login with USER and PASS. While connecting only. It is not even going to login statement.

如果它甚至没有转到登录语句,则消息可能是由于服务器拒绝用于将连接升级到 SSL/TLS 的 AUTH TLS 命令引起的。这可能表明服务器根本不支持 TLS。

... able to transfer file using Filezilla.

您确定 Filezilla 确实使用了 FTP 和 TLS 而不是普通的 FTP 或 SFTP(这是使用 SSH 的文件传输,与 [=18= 完全不同) ]S)?