今天在使用FTPClient下载文件时,登录成功了,但是提示下图所示的错误信息:
出现这个问题,本以为设置的读取文件目录不对,尝试修改多次无果。为了排除路径的问题,在firefox中安装了插件“FireFTP”,连接上之后,可以正常下载,于是该问题排除。
后来在http://blog.csdn.net/wangjinwei6912/article/details/6603152 看到这位朋友的提示防火墙的问题,于是打开系统的防火墙,发现系统的防火墙都是开着的,如下图所示:
尝试把防火墙关闭,再次运行程序,发现文件能够正常下载了。如下图所示:
此问题解决。
更深层次解析:
FTP 的连接模式有两种:主动模式和被动模式,我们的程序是采用主动模式来连接到ftp服务器的。(主动模式和被动模式的区别请参照:http://jackiechen.blog.51cto.com/196075/193883/),我们摘抄关于主动模式的相关说明如下:
|
从第3条,可以看出服务器端时会主动向客户端进行连接的,所以,本地需要关闭防火墙才能完成数据的下载。
本文详细阐述了使用FTPClient下载文件时遇到的问题,通过排除路径设置和利用Firefox插件FireFTP验证,最终定位到防火墙设置为问题源头。深入解析了FTP的主动模式工作原理及防火墙配置需求,最终关闭防火墙后成功实现文件正常下载。
7786

被折叠的 条评论
为什么被折叠?



