如何创建“;FTPS&x201D;Java中单元测试的模拟服务器,获取错误-javax.net.ssl.SSLException:502命令未实现:AUTH

如何创建“;FTPS&x201D;Java中单元测试的模拟服务器,获取错误-javax.net.ssl.SSLException:502命令未实现:AUTH,java,mocking,ftps,apache-commons-net,Java,Mocking,Ftps,Apache Commons Net,作为单元测试的一部分,我需要模拟“FTPS”服务器。我通过使用模拟FTPS服务器获得“javax.net.ssl.SSLException:502命令未实现:AUTH” 我通过,但没有找到一种方式连接到FTPS服务器 导入java.io.File; 导入org.apache.commons.net.ftp.ftp; 导入org.apache.commons.net.ftp.FTPFile; 导入org.apache.commons.net.ftp.FTPSClient; 导入org.mockft

作为单元测试的一部分,我需要模拟“FTPS”服务器。我通过使用模拟FTPS服务器获得“javax.net.ssl.SSLException:502命令未实现:AUTH”

我通过,但没有找到一种方式连接到FTPS服务器

导入java.io.File;
导入org.apache.commons.net.ftp.ftp;
导入org.apache.commons.net.ftp.FTPFile;
导入org.apache.commons.net.ftp.FTPSClient;
导入org.mockftpserver.fake.FakeFtpServer;
导入org.mockftpserver.fake.UserAccount;
公共类FtpsMockTest{
私有FakeFtpServer FakeFtpServer;
公共FtpsMockTest(int端口、字符串用户名、字符串密码、文件homeDir){
fakeFtpServer=新的fakeFtpServer();
fakeFtpServer.setServerControlPort(端口);
addUserAccount(新用户帐户(用户名、密码、homeDir.getAbsolutePath());
}
公共静态FTPSClient createFtpsClient(字符串主机名、整数端口、字符串用户名、字符串密码)
抛出异常{
FTPSClient FTPSClient=新的FTPSClient(“TLS”,假);
连接(主机名、端口);
ftpsClient.enterLocalPassiveMode();
boolean loginStatus=ftpsClient.login(用户名、密码);
如果(!loginStatus){
抛出新异常(“FTPS客户端登录失败”);
}
ftpsClient.execPBSZ(0);
ftpsClient.execPROT(“P”);
ftpsClient.setFileType(FTP.BINARY\u文件类型);
ftpsClient.setFileTransferMode(FTP.STREAM_TRANSFER_MODE);
返回ftpsClient;
}
公共静态void main(字符串[]args)引发异常{
FtpsMockTest test=null;
试一试{
test=新的FtpsMockTest(990,“test”,“test”,新文件(“C:\\FuncTest”);
test.start();
FTPSClient-FTPSClient=createFtpsClient(“127.0.0.1”,990,“测试”,“测试”);
FTPFile[]listFiles=ftpsClient.listFiles(“C:/Test”);
System.out.println(“***总可用文件数***”+listFiles.length);
}最后{
test.stop();
}
}
公开作废开始(){
fakeFtpServer.start();
System.out.println(“*****伪FTPS服务器已启动***”);
}
公共停车场(){
fakeFtpServer.stop();
System.out.println(“*****假FTPS服务器已停止***”);
}
}
我用上面的代码连接FTPS服务器,但我得到下面的错误。请您提供任何输入以解决以下错误

Exception in thread "main" javax.net.ssl.SSLException: 502 Command not implemented: AUTH.

    at org.apache.commons.net.ftp.FTPSClient.execAUTH(FTPSClient.java:214)
    at org.apache.commons.net.ftp.FTPSClient._connectAction_(FTPSClient.java:196)
    at org.apache.commons.net.SocketClient.connect(SocketClient.java:164)
    at org.apache.commons.net.SocketClient.connect(SocketClient.java:184)
    at com.asos.mule.core.connector.ftps.functional.FtpsMockTest.createFtpsClient(FtpsMockTest.java:25)
    at com.asos.mule.core.connector.ftps.functional.FtpsMockTest.main(FtpsMockTest.java:47)

Chris确认MockFTPServer不支持FTPS

参考链接-