如何让我的delphi应用程序使用FTPS代替FTP(indy)

use*_*287 4 delphi ftp ftps indy delphi-xe3

这是我的计划:

Application.FTP.Host:= vHost;
Application.FTP.Port:= vPort;
try
  Application.FTP.AutoLogin := false;
  Application.FTP.Connect;
  Application.FTP.IOHandler.RecvBufferSize := 2048;
Run Code Online (Sandbox Code Playgroud)

TIdFTP在Delphi XE3中使用组件.

我想我必须使用这样的东西......

 Application.FTP.UseTLS := utUseRequireTLS;
Run Code Online (Sandbox Code Playgroud)

但是编译器不喜欢那条线

如何让我的FTP应用程序使用FTPS?

Rem*_*eau 8

首先,您需要SFTP(基于SSH的FTP)还是FTPS(基于SSL的FTP)?它们不是同一件事.Indy目前不支持SSH.对于SSL,您可以将SSL IOHandler(例如)附加TIdSSLIOHandlerSocketOpenSSLTIdFTP.IOHandler属性,然后将该TIdFTP.UseTLS属性设置为除utNoTLSSupport(是,TIdFTP具有UseTLS属性)之外的任何其他内容.如果需要加密实际的文件传输连接,而不仅仅是命令连接,请将TIdFTP.DataPortProtection属性设置为ftpdpsPrivate.