代码之家  ›  专栏  ›  技术社区  ›  crazyproton

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

  •  15
  • crazyproton  · 技术社区  · 10 年前

    我正在编写一个JAVA代码,使用ApacheCommonsNetFTPClient遍历FTP位置,并在Excel文件中获取输出。代码正确执行约5分钟,但随后出现IOException:

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

    我正在使用commons-net-3.0.1.jar;D并尝试:

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

    和发送 NOOP ,但仍然得到相同的错误。

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

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

    2 回复  |  直到 8 年前
        1
  •  19
  •   lfurini    7 年前

    请参见此处: 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
  •  3
  •   Mohd Abdul Mujib    8 年前

    供将来参考。。

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

    注意:-此错误 FTP response 421 received Netbeans公司 因为它也是用java构建的。