如何配置apacheftpfilesystem java类以使用ftpsclient而不是ftpclient

wn9m85ua  于 2021-05-27  发布在  Hadoop
关注(0)|答案(1)|浏览(320)

我正在使用apachecommons库访问应用程序中使用ftp/ftps的文件。应用程序的体系结构不允许启动 FTPClient ,在我的情况下,我需要使用apache FTPSClient .
接口只允许我传递路径到文件、配置和 FileSystem 实施。
是否有要设置的属性或其他方式来配置 FTPFileSystem 使用 FTPSClient 而不是 FTPClient ?

svmlkihl

svmlkihl1#

FTPFileSystem 不支持ftps。它无法创建 FTPSClient .
您应该创建自己的 FileSystem 基于 FTPFileSystem (b)改变执行 open ),将客户端初始化为ftpsclient而不是ftp client。即:
ftpsclient=新建ftpsclient();
你可以把它和 ftps:// URL使用:

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

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

conf.set("fs.ftp.data.connection.mode", "PASSIVE_LOCAL_DATA_CONNECTION_MODE");

相关问题