gpt4 book ai didi

java - ftps-无法获得数据连接

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:25:21 27 4
gpt4 key购买 nike

我正在尝试使用 ssh/tls 连接到 ftp 服务器,但我使用的每种方法都没有帮助。

    FTPSClient ftpsClient = new FTPSClient("TLS", false);
// log.debug("using TLS");
FTPClientConfig ftpClientConfig = new FTPClientConfig(FTPClientConfig.SYST_UNIX);
ftpClientConfig.setServerLanguageCode("de");
ftpsClient.configure(ftpClientConfig);
ftpsClient.addProtocolCommandListener(new PrintCommandListener(new PrintWriter(System.out))); // outputs all conversation to the console
ftpsClient.connect(domain, 21);
// Set protection buffer size
ftpsClient.execPBSZ(0);
// Set data channel protection to private
ftpsClient.execPROT("P");
ftpsClient.login(username, password);
ftpsClient.enterLocalPassiveMode();
ftpsClient.changeWorkingDirectory(filepath);
ftpsClient.execPBSZ(0);
// Set data channel protection to private
ftpsClient.execPROT("P");
ftpsClient.listFiles();
ftpsClient.logout();

但我不断收到同样的错误-

250 CWD command successful
PBSZ 0
200 PBSZ 0 successful
PROT P
200 Protection set to Private
PASV
227 Entering Passive Mode (188,65,181,123,23,20).
LIST
150 Opening ASCII mode data connection for file list
425 Unable to build data connection: Operation not permitted
TLS
QUIT
221 Goodbye.

最佳答案

根据我通过搜索网络收集到的信息,这是由于 ftp 服务器希望客户端对命令和数据传输使用相同的 session 造成的。

当前的解决方法是更改​​服务器配置,这样它就不会强制 session 重用。对于 ProFtp,配置在这个链接 http://www.proftpd.org/docs/howto/TLS.html 上有解释。 .

不幸的是,我找不到可以告诉他们的 Java 客户端重用 session 进行数据传输的地方。

关于java - ftps-无法获得数据连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22307169/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com