org.apache.commons.net.ftp.FTPClient : 530 请使用 USER 和 PASS 登录

org.apache.commons.net.ftp.FTPClient : 530 Please login with USER and PASS

我想访问 FTP 服务器并从 ftp server.So 获取目录列表,我使用 org.apache.commons.net.ftp.FTPClient 来完成它。但是 ftp 服务器不需要登录。所以我的代码是这样的

ftpClient.connect(ip, port);
ftpClient.changeWorkingDirectory(timePath);
FTPFile[] directoryArray = ftpClient.listFiles();

我调试的时候没有任何错误和异常。但我什么也没得到,然后我发现这个回复行大小 = 1 530 请使用 USER 和 PASS 登录。 FTP服务器没有login.how的用户名和密码我可以解决吗?谢谢

尝试以匿名身份登录("anonymous" 是许多 FTP 服务器中的默认用户):

ftpClient.connect(ip, port);
ftpClient.login("anonymous", "");
ftpClient.changeWorkingDirectory(timePath);
FTPFile[] directoryArray = ftpClient.listFiles();

您可以像这样省略用户名和密码参数:

username = "anonymous";
password = System.getProperty("user.name")+"@"+InetAddress.getLocalHost().getHostName();

Source