我一直在尝试将有效的FTP连接FTPClient更改为apache提供的FTPSClient。唯一的更改是更改类并指示应用程序将连接的端口。 服务器连接到同一网络中的另一台服务器。对于外部服务器,需要代理。
我已经尝试将构造函数设置为true,它显示以下消息:
无法识别的SSL消息,明文连接?
final FTPSClient ftp = new FTPSClient( true );
//same results
//final FTPSClient ftp = new FTPSClient("SSL", true );
//final FTPSClient ftp = new FTPSClient("TLS", true );
ftp.setDefaultPort(22);
当我将其设置为false时,连接会挂起很长时间。它显示以下消息:
无法解析响应代码。服务器回复:SSH-2.0-OpenSSH_4.1
和tomcat显示以下页面:
代理错误
代理服务器收到来自上游服务器的无效响应。 代理服务器无法处理请求POST /myapppath/APage.htm。
原因:从远程服务器读取错误
final FTPSClient ftp = new FTPSClient( false );
ftp.setDefaultPort(22);
我尝试通过SFTP手动连接WinSCP,连接成功。
答案 0 :(得分:1)
FTPS(FTP over SSL / TLS)与SFTP(SSH文件传输)不同;这是两种完全不同的协议。您收到错误Unrecognized SSL message, plaintext connection?
的原因是您没有连接到FTPS服务器。
http://api.jquery.com/jquery.ajax/如果您想建立SFTP连接而不是FTPS连接,我建议您使用You can read more about the difference here.。