FTPClient:enterLocalPassiveMode()方法简单说明

问题:在Java程序中,使用FTPClient下载FTP文件的时候,可以下载到FTP服务器上的文件夹,但是里面的文件没有下载到本地。

分析:这个涉及到FTP在使用的过程中,客户端和服务端连接过程中,端口的打开和关闭相关知识。

解决:在程序调用登录方法之前,即执行“FTPClient ftpClient = null;  ftpClient.login(username, password);”之前,加上一行代码:ftpClient.enterLocalPassiveMode();这样就可以了。

总结:1 在FTP服务中,涉及到客户端和服务器端的连接,连接就会涉及到端口的打开问题;

   2 而端口的打开中,又涉及到主动模式和被动模式。主动模式:客户端开放端口给服务端用;被动模式:服务端开放端口给客户端用。由于很多客户端在防火墙内,开放端口给服务器端用比较困难。所以用被动模式的时候比较多。

   3 如果涉及到了内网、局域网等环境时,出现FTP连接问题,也可以考虑是否是因为连接模式引起的。

参考

https://blog.csdn.net/u011008029/article/details/49757059

https://www.cnblogs.com/huhaoshida/p/5412615.html

http://icelander.iteye.com/blog/1313986

原文地址:https://www.cnblogs.com/zxxsteven/p/9408226.html