Apache Commons net中的execProt(“P”)是什么?

时间:2015-11-12 17:46:00

标签: java ssl apache-commons-net ftps

我在我的aws ec2实例上设置了一个FTPS服务器。我正在使用Apache Commons net以编程方式连接到我的服务器。

try
{
    ftps.enterLocalPassiveMode();
    ftps.setBufferSize(1000);
    ftps.execPROT("P");

    if (!ftps.login(username, password))
    {
        ftps.logout();
        error = true;
        break __main;
    }
}

如果我没有设置execProt(“P”),我无法检索文件。从documentation开始,我看到“P”代表私有数据通道保护级别。这是什么意思?为什么我使用P而不是“S”或“E”?

1 个答案:

答案 0 :(得分:5)

ftps中的PROT命令可以具有值P和C.P代表私有,意味着数据连接使用TLS加密。 C代表清除,表示数据连接未加密。 E(机密)和S(安全)的值也被定义,但实际上没有在FTP服务器中实现。有关详细信息,请参阅规范,即RFC 4217