使用 Java URLConnection 设置 FTP 主动/被动模式

2022-01-09 00:00:00 ftp java

在使用 URLConnection 类时是否可以设置 FTP 被动或主动模式?我找不到任何关于此的文档,但这是一个非常基本的功能,很难相信它没有实现.

Is it possible to set FTP passive or active mode when working with URLConnection class? I cannot find any documentation on this, yet this is such a basic functionality that it's hard to believe it is not implemented.

如果不是,我在标准 Java 中还有哪些其他选择?

If it's not, what other options do I have in standard Java?

推荐答案

要让 FTP 完全正常工作,你真的需要使用 套接字.URLConnection 和 consorts 根本不适合您的需要(不支持进入被动模式).幸运的是,Apache Commons 已经为您完成了许多类似 Apache Commons Net FTPClient 的工作.要实现您的需要,只需使用 FTPClient#enterLocalPassiveMode()FTPClient#enterLocalActiveMode()

To get FTP full fledged to work, you'll really need to fall back to low-level programming with Sockets. The URLConnection and consorts simply doesn't suit your needs (no support to enter into passive mode). Fortunately Apache Commons has already done a lot of work for you in flavor of Apache Commons Net FTPClient. To achieve what you need, just use FTPClient#enterLocalPassiveMode() or FTPClient#enterLocalActiveMode()

相关文章