使用 Java URLConnection 设置 FTP 主动/被动模式
在使用 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()
相关文章