我正在为工作编写一个 JAVA 程序,在某些时候需要将文件从它正在运行的机器传输到另一台机器。要求是,可以将其配置为通过 FTP、SFTP 或身份验证安全但未加密传输数据的连接进行传输。
使用第三方 JAVA 库实现前两个应该不会太糟糕。我遇到的问题是第三种选择。似乎唯一的方法是通过 SSH 隧道传输 FTP。
由于我在这件事上相当缺乏经验,想知道是否有人有任何有用的建议。这可以使用可靠的 JAVA 库(首选)或其他一些工具来完成,我只是将其作为程序中的一个单独进程调用。
谢谢
我正在为工作编写一个 JAVA 程序,在某些时候需要将文件从它正在运行的机器传输到另一台机器。要求是,可以将其配置为通过 FTP、SFTP 或身份验证安全但未加密传输数据的连接进行传输。
使用第三方 JAVA 库实现前两个应该不会太糟糕。我遇到的问题是第三种选择。似乎唯一的方法是通过 SSH 隧道传输 FTP。
由于我在这件事上相当缺乏经验,想知道是否有人有任何有用的建议。这可以使用可靠的 JAVA 库(首选)或其他一些工具来完成,我只是将其作为程序中的一个单独进程调用。
谢谢
您可以使用Apache Commons VFS进行文件上传和下载。有FTP和FTPS。唯一的先决条件是您的远程系统必须运行 FTP 服务器。您不必调用某些外部进程。只需让您自己的应用程序完成工作。记住要小心防火墙。
使用 FTPS,只有控制会话可以保证被加密。数据通过常规 FTP 传输。是否加密取决于您。您可以使用 PROT 和 CDC 命令来控制加密。