尝试从 ftp 远程服务器轮询文件时,出现“无法确定系统类型 - 响应:550 权限被拒绝”错误。
Springboot版本:3.2.1
我的 FTPS 会话工厂 Java 配置:
@Bean
public DefaultFtpsSessionFactory ftpsSessionFactory() {
DefaultFtpsSessionFactory sessionFactory = new DefaultFtpsSessionFactory();
sessionFactory.setHost(ftpHost);
sessionFactory.setUsername(ftpUsername);
sessionFactory.setPassword(ftpPassword);
sessionFactory.setPort(ftpPort);
sessionFactory.setControlEncoding(StandardCharsets.UTF_8.name());
sessionFactory.setImplicit(true);
sessionFactory.setProtocol("TLS");
sessionFactory.setClientMode(FTPSClient.PASSIVE_LOCAL_DATA_CONNECTION_MODE);
return sessionFactory;
}
这可以通过两种方式实现,
System.setProperty(FTPClient.FTP_SYSTEM_TYPE_DEFAULT, FTPClientConfig.SYST_UNIX)
或者您可以直接将此配置设置到会话工厂。
FTPClientConfig conf = new FTPClientConfig(FTPClientConfig.SYST_UNIX);
sessionFactory.setConfig(conf);