【问题标题】:Got 200 FTP reply code but file not sent收到 200 个 FTP 回复代码但文件未发送
【发布时间】:2018-03-15 10:20:48
【问题描述】:

我遇到了一个小问题,慢慢地让我感到沮丧。我需要通过 TLS 将文件发送到 FTP 服务器,使用 org.apache.commons.net.ftp.FTPSClient 并在调用 storeFile() 方法后得到 200 个回复代码,但是我在服务器上看不到任何结果。

FTP 服务器没有在我的本地主机上运行。当我做同样的事情但使用 Filezilla 客户端时,它在被动和主动模式下都没有任何问题。

FTPSClient ftpsClient = new FTPSClient("TLS", false);

        ftpsClient.connect(server, port);

        boolean logged = ftpsClient.login(user, pass);
        ftpsClient.enterRemotePassiveMode();
        System.out.println(ftpsClient.getReplyCode());

        ftpsClient.execPBSZ(0);
        ftpsClient.execPROT("P");

        ftpsClient.sendCommand("TYPE", "A");
        System.out.println(ftpsClient.getReplyCode());

        File file = new File("config.xml");
        InputStream inputStream = new FileInputStream(file);
        boolean done = ftpsClient.storeFile("config.xml", inputStream);
        System.out.println(ftpsClient.getReplyCode());

        inputStream.close();

这段代码执行的结果是:

227

200

200

但也许这个 STOR 命令实际上并没有过度,这 200 代码与之前的命令有关?

【问题讨论】:

    标签: java tls1.2 ftps


    【解决方案1】:

    如果有人对此问题的解决方案感兴趣,那是关于恢复服务器所需但客户端未处理的 ssl 会话。在 filezilla 服务器上取消选择此选项后,它已开始正常工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-21
      • 1970-01-01
      • 1970-01-01
      • 2021-12-06
      • 1970-01-01
      • 2015-09-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多