我正在使用Apache-Commons-Net库。
我想知道FTP服务器是主动模式还是被动模式。
Apache-Commons-Net库中是否有类似的方法?
({GetDataConnectionMode()
是一种方法,可以告诉您使用Java连接后的连接模式。我想先检查一下Maud)
private FTPClient ftp;
// the code I want
if(active){
ftp.enterLocalActiveMode();
}else{
ftp.enterLocalPassiveMode();
}
// Apply active mode or passive mode to the environment of the server for oneself
答案 0 :(得分:0)
正如@Erwin所说,服务器未处于主动或被动模式。服务器通常同时支持两种模式。
您需要使用的一种模式,通常取决于您与服务器之间的网络的配置,而不取决于服务器上的某些“交换机”。几乎没有任何方法可以检测到这一点。
您所能做的就是尝试一种模式,如果第一种模式失败,则退回到另一种模式。通常,您应该从被动模式开始,因为这种模式会更频繁地工作。
也请阅读我关于FTP connection modes的文章以及他们所需的网络配置,以了解这是什么。