我什么时候应该将ftp_pasv设置为TRUE? 我能一直这样做吗? 如果没有,有没有办法让我以编程方式确定服务器是否需要它?

===============>>#1 票数:5 已采纳

passive modeactive mode是使用FTP服务器初始化数据连接的两种方法。

passive mode ,您的FTP客户端使用PASV命令询问连接到FTP服务器的端口。 服务器回复大量的IP和PORT,可以建立连接(FTP客户端 - 你 - 初始化连接)

当处于active mode ,您的FTP客户端使用PORT命令告诉FTP服务器它应该连接哪个端口(服务器初始化连接)。

因此,没有“一种方法”来确定使用哪种方法。 这取决于您的FTP服务器功能和您的情况。

首先,您必须检查您的FTP服务器是否同时接受模式, activepassive

其次,您必须检查作为客户端是否在NAT路由器后面。 如果是这种情况,那么使用被动模式会更容易(因为这是初始化连接的FTP客户端)。 在其他情况下,您需要进行一些路由器配置...

以编程方式,您可以尝试使用PASV初始化数据连接并检查服务器响应。 根据响应代码,您应该能够知道是否必须切换模式。

===============>>#2 票数:1

被动模式比主动模式更常用。 您可以向FTP服务器发出FEAT命令以查看是否支持PASV(只要支持FEAT命令本身,这将起作用)。

通常,如果服务器“需要”被动模式,您必须事先知道。 (联系服务器管理员以了解是否支持被动模式)。

  ask by snoopy76 translate from so

未解决问题?本站智能推荐: