我是靠谱客的博主 追寻小熊猫,最近开发中收集的这篇文章主要介绍sun.net.ftp.FtpClient踩坑FTP连接模式FTP主动模式FTP被动模式问题解决方法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

sun.net.ftp.FtpClient 是一个FTP连接工具,比较坑的一点是该工具只能运行在FTP被动模式下。

FTP连接模式

FTP连接模式分为被动模式和主动模式。
FTP连接分为命令端口和数据端口。

FTP主动模式

命令端口号:21
数据端口号:20

FTP被动模式

命令端口号:21
数据端口号:1024-65535

问题

代码中使用了sun.net.ftp.FtpClient 连接工具实现文件同步到FTP服务器上,但是该连接工具只支持被动模式,客户服务器不允许放行这么多端口号。

解决方法

1、修改代码使用Apache提供的FTPClient工具,设置FTP连接方式为主动方式,防火墙放开20/21两个端口。

2、不修改代码,修改FTP配置,指定FTP被动模式传输端口范围。

(1)/etc/vsftpd.conf中添加如下配置

pasv_enable=YES
pasv_min_port=5000 (根据现场安全要求,自己填写)
pasv_max_port=6000(根据现场安全要求,自己填写)

(2)FTP服务器防火墙配置中放开相应的端口号

最后

以上就是追寻小熊猫为你收集整理的sun.net.ftp.FtpClient踩坑FTP连接模式FTP主动模式FTP被动模式问题解决方法的全部内容,希望文章能够帮你解决sun.net.ftp.FtpClient踩坑FTP连接模式FTP主动模式FTP被动模式问题解决方法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(41)

评论列表共有 0 条评论

立即
投稿
返回
顶部