【问题标题】:Problems with org.apache.commons.net.ftp.FTPClient, getting FTP response 421 received errororg.apache.commons.net.ftp.FTPClient 出现问题,收到 FTP 响应 421 错误
【发布时间】:2018-02-15 09:37:25
【问题描述】:

我在使用 org.apache.commons.net.ftp.FTPClient 时遇到了一些问题。 这是我的代码:

if (!FTPReply.isPositiveCompletion(reply)) {
    logger.debug("Fehler beim FTP verbindungsaufbau " + reply);
}
FileInputStream fis = new FileInputStream(ziel);
logger.info("....uploading...");
ftpClient.storeFile(cntKen + dateiEndung, fis);
fis.close();
logger.info("....Done!");

与 FTP 服务器的连接正常,但是当我尝试将文件上传到此 FTP 服务器时,我收到了FTP response 421 received 错误消息。 使用ftpClient.storeFile(cntKen + dateiEndung, fis) 行。

相同的代码正在与其他 FTP 服务器一起使用,所以我不确定,这是代码或 ftp 服务器本身的某些配置的问题。

有什么想法吗?

编辑:当我阅读更多信息时。当服务器同时只允许 1 个连接时,会出现错误接缝。 也许 lib 建立了超过 1 个连接?

【问题讨论】:

  • 您能否使用与您的 Java 代码在同一台机器上运行的任何独立 FTP 客户端将相同的文件上传到相同的 FTP 路径?向我们展示它的日志文件。 + 您可以访问服务器端的 FTP 日志文件吗?向我们展示。
  • 不,这就是问题所在。该文件是通过自动过程生成的。 (它是一个数据导出)所以我不能用与其他客户端相同的文件来测试它。 FTP 服务器是我无权访问日志的客户 FTP。但我是从客户那里要求的。
  • 另外,您收到的带有 421 代码的错误消息是什么?
  • getReplyString() 返回什么?
  • 向我们展示的日志文件“它也可以与 linux ftp shell 和 ftp put 一起使用”.

标签: java ftp


【解决方案1】:

解决方案非常简单。该错误意味着,由于某种原因,自连接以来,ftp 服务器断开了您的连接。因此与 ftp 服务器的连接正常工作,但在文件上传之前,连接丢失。在这种情况下,因为连接和上传之间有 5 分钟的空闲时间。 FTP 服务器配置为在 2 分钟后断开空闲连接。如果您遇到同样的问题,断开连接可能还有其他一些原因。但实际上ftp连接丢失了,使用.storeFile(或ftp)不是响应没有连接,而是421错误码

两种解决方法: 1. prevered:优化软件。检查 ftp 连接是否正常,然后关闭连接。在上传之前再次打开它。 2.更改FTP-Settings以断开空闲连接到更高的值

【讨论】:

    猜你喜欢
    • 2014-09-08
    • 1970-01-01
    • 2012-09-25
    • 2020-12-03
    • 1970-01-01
    • 2011-02-04
    • 2013-03-26
    • 2012-09-30
    相关资源
    最近更新 更多