delphi - idFTP + 连接超时

标签 delphi ftp indy

我一直在尝试从 ftp 服务器获取文件,但每次尝试使用我的代码进行连接时,我都会遇到相同的错误:

EIdSocketError:套接字错误 # 10060 连接超时。

使用 Filezilla 3.4,我可以连接并下载文件,我的代码:

var
  objFTP: TidFTP;
begin
  try
    objFTP := TIdFTP.Create;
    try
      objFTP.Disconnect;
      objFTP.Host := '200.1.81.252';
      objFTP.Port := 990;
      objFTP.Username := 'user_name';
      objFTP.Password := 'user_pass';
      objFTP.Passive := True;
      objFTP.IOHandler := TIdSSLIOHandlerSocketOpenSSL.Create(objFTP);
      objFTP.UseTLS := utUseRequireTLS;
      objFTP.TransferTimeout := 120000;
      try
        objFTP.Connect;
        objFTP.ChangeDir('/salida/acciones/2015-05-20');
        objFTP.Get('SW052015.003', 'C:\SW052015.txt');
      finally
        objFTP.Disconnect;
      end;
    finally
      FreeAndNil(objFTP);
    end;
  except
    on E: Exception do
      Writeln(E.ClassName, ': ', E.Message);
  end;

有什么建议吗?

FileZilla 上的配置:

认证端口:990

数据传输端口:9080(不知道这是什么)

加密:需要基于 TLS 的显式 FTP

被动模式

强制使用 UTF-8

最佳答案

感谢评论,我的代码运行良好:

var
  objFTP: TidFTP;
  sCaminho: String;
begin
  sCaminho := 'C:\SW052015.txt';
  SysUtils.DeleteFile(sCaminho);
  try
    objFTP := TIdFTP.Create;
    try
      objFTP.Host := '200.1.81.252';
      objFTP.Username := 'user_name';
      objFTP.Password := 'user_pass';
      objFTP.IOHandler := TIdSSLIOHandlerSocketOpenSSL.Create(objFTP);
      objFTP.UseTLS := utUseExplicitTLS;
      objFTP.DataPortProtection := ftpdpsPrivate;
      try
        objFTP.Port := 990;
        objFTP.Passive := True;
        objFTP.Connect;
        objFTP.ChangeDir('/salida/acciones/2015-05-20');
        objFTP.Get('SW052015.003', sCaminho);
      finally
        objFTP.Disconnect;
      end;
    finally
      FreeAndNil(objFTP);
    end;
  except
    on E: Exception do
      Writeln(E.ClassName, ': ', E.Message);
  end;
end.

关于delphi - idFTP + 连接超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30440755/

相关文章:

java 通用ftpclient上传文本文件

delphi - 一个 session 中的多个请求 (TidHTTP)

Delphi XE2 不兼容类型指针和 PAnsiChar

delphi - 在 Delphi 7 中使用 TExcelWorkBook SaveAs 方法时出现 Ole 800A03EC 错误

ftp - 使用spring spring将文件直接上传到ftp服务器中的特定文件夹

Java Apache Mina FTP 服务器导入库

delphi - 在 "Poodle"更改后让 Indy 调用与 Paypal IPN 一起工作

delphi - TIdHTTP : Select outgoing IP for HTTP request?

delphi - 如何显示未命名驱动器的标签?

delphi - 如何防止 ListView header 遮挡第一组的顶部?