当前位置: 首页 > 面试题库 >

有没有办法确定Java Web程序中FTP服务器是主动还是被动?

姚兴安
2023-03-14
问题内容

我正在使用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

问题答案:

正如@Erwin已经指出的,服务器未处于主动或被动模式。服务器通常同时支持两种模式。

您需要使用的模式通常取决于您和服务器之间 的网络配置 ,而不取决于服务器上的某些“交换机”。几乎没有任何方法可以检测到这一点。

您所能做的就是尝试一种模式,如果第一种模式失败,则回退到另一种模式。通常,您应该从被动模式开始,因为这种模式会更频繁地工作。

另请阅读有关FTP连接模式和它们所需的网络配置的文章,以了解其含义。



 类似资料:
  • 我收到了一个新的密钥库。jks文件用于ssl连接,以替换旧的但仍在工作的。jks密钥库文件,但我收到了“意外握手消息:serve_hello”错误。我被告知要确保密钥库包含客户端证书,所以我使用keytool将其证书导出到pem文件,然后使用openssl检查目的。结果显示 证书用途:SSL客户端:否SSL客户端CA:否SSL服务器:是SSL服务器CA:否... 然而,当我应用相同的过程来检查旧的

  • 问题内容: 我想在控制台中显示消息或弹出窗口,因此如果未指定参数,我想知道应该向哪个显示 就像是: 问题答案: 直接的答案是您无法确定JVM是如何启动的。 但是对于问题中的示例用例,您实际上并不需要知道如何启动JVM。您 真正 需要知道的是用户是否会看到一条写入控制台的消息。这样做的方式将是这样的: Console的javadoc 虽然不漏水,但强烈暗示Console对象(如果存在)会写入控制台,

  • 我想使用PublishSubject创建一个广播系统,一个后台任务将轮询一些endpoint,并定期使用该主题广播结果。我希望在第一个订阅者订阅主题时开始轮询,并在没有更多订阅者时停止轮询。如果有新订阅者订阅,则应继续轮询。

  • 问题内容: 说我有3个这样的课程: 难道那么有可能确定一个特定的对象是否是他的一个实例,或? 我认为这样的事情可能会起作用: 但是经过一点阅读之后,我认为它始终会被评为B,因为它只是测试强制转换是否有效,并且两者之间没有实质性差异。 问题答案: 做这个:

  • 我想检查一下“安全 但是我得到了这个错误:“系统事件出错:脚本编辑器不允许辅助访问。”进程“系统偏好设置”窗口1中的数字-1719 我希望能够在客户机上执行这段代码,所以我不想在可访问性中添加脚本编辑器。 我的问题是,有没有一种方法(objective-c、c或appleScript)来检查选项卡是否被锁定?

  • 我的应用程序需要确定设备是否具有谷歌提供的最新操作系统软件。 例如,目前,我需要能够确定设备是否正在运行Marshmallow,而不管手机可能永远无法安装Marshmallow的事实。 这是否需要硬编码到应用程序中? 谢啦