为了账号安全,请及时绑定邮箱和手机立即绑定

如何通过FTPClient进入FTP服务器的被动模式或主动模式

如何通过FTPClient进入FTP服务器的被动模式或主动模式

莫回无 2023-05-17 16:50:01
客户端首先进入被动模式,因为我不知道远程 FTP 服务器是主动模式还是被动模式。通常,首先进入被动模式。代码如下:FTPClient ftpClient = new FTPClient();ftpClient.connect(ip,port);ftpClient.login(id,pw);ftpClient.enterLocalPassiveMode();...(occur mode error)(I use try-catch in case an error occurs)(active mode reconnect)...ftpClient.logout();ftpClient.disconnect();ftpClient.connect(ip,port);ftpClient.login(id,pw);ftpClient.enterLocalActiveMode();我想听听像这样处理模式的正确做法。我正在使用 FTPClient (Apache Commons Net)。
查看完整描述

1 回答

?
翻过高山走不出你

TA贡献1875条经验 获得超3个赞

在主动模式 FTP 中,服务器必须打开返回给客户端的 TCP 连接;除非您的客户端直接在 Internet 上(没有防火墙或地址转发),否则活动模式将不起作用。

相反,被动模式 FTP 不会打开从服务器到客户端的 TCP 套接字,并且在两种情况下都可以工作(直接互联网连接和通过地址转发的互联网连接)。

大多数计算机都在防火墙后面使用地址转发,因此通常采用被动模式。


查看完整回答
反对 回复 2023-05-17
  • 1 回答
  • 0 关注
  • 353 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信