1

我正在使用 Apache Commons 库在我的应用程序中使用 FTP/FTPS 访问文件。该应用程序的架构不允许启动FTPClient,在我的情况下,我需要使用 ApacheFTPSClient

该接口只允许我将路径传递给文件、配置和FileSystem实现

是否有要设置的属性或其他方式来配置FTPFileSystem使用FTPSClient而不是FTPClient

4

1 回答 1

1

FTPFileSystem不支持 FTPS。它无法创建FTPSClient.

FileSystem您应该必须基于FTPFileSystem(更改实现)创建自己的实现open,在其中将客户端初始化为 FTPSClient 而不是 FTP 客户端。IE:

FTPSClient 客户端 = 新的 FTPSClient();

您可以使用以下方法将其与 ftps://URL 关联:

conf.set("fs.ftps.impl", "com.myproject.MyFTPSFileSystem");

您可能需要为客户端设置以下属性才能进入本地被动模式:

conf.set("fs.ftp.data.connection.mode", "PASSIVE_LOCAL_DATA_CONNECTION_MODE");
于 2020-11-08T18:11:49.690 回答