已收到 FTP 响应 421。服务器关闭连接

我正在编写一个JAVA代码,以使用Apache Commons Net FTPClient遍历FTP Location,并在Excel文件中获取输出。代码正确执行了大约 5 分钟,但随后给出了 IOException:

org.apache.commons.net.ftp.FTPConnectionClosedException: FTP response 421 received.  Server closed connection.

我正在使用commons-net-3.0.1.jar。我做了一些研发并尝试:

setDefaultTimeout(6000); 
setConnectTimeout(3000);
setSoTimeout(3000);
enterLocalPassiveMode();

并发送 ,但仍收到相同的错误。NOOP

我所要做的就是遍历一个目录,如果找到文件,则在excel中获取文件名和文件更新日期,否则如果找到目录,则进入内部并执行,直到再次找到文件。

请帮助并询问是否需要任何其他信息。我是JAVA的新手。


答案 1

请参阅此处:http://kb.globalscape.com/KnowledgebaseArticle10142.aspx

    Error 421 Service not available, closing control connection. 
    Error 421 User limit reached 
    Error 421 You are not authorized to make the connection 
    Error 421 Max connections reached 
    Error 421 Max connections exceeded 

也许您没有重用连接,而是为每个请求使用新连接,使服务器充满连接,直到达到连接限制。请尝试关闭或重新发布连接。


答案 2

供将来参考..

如果@fiffy的解决方案不起作用,也许可以尝试打开TLS(FTPS/安全连接),我的服务器设置为仅接受FTPS协议,因此它拒绝了我的未加密连接,因此打开TLS(FTPS)帮助我解决了这个问题。

注意:- 此错误在 Netbeans 中非常突出,因为它也内置于 java 中。FTP response 421 received


推荐