Bonjour,

J'ai un FTPS qui fonctionne correctement en locale. J'arrive bien à m'y connecter avec WinSCP.
Il s'agit d'un protocole FTP avec i, chiffrement "SSL/TLS implicite".

Je voudrais maintenant m'y connecter avec Delphi 7 (Indy 10).

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
(*
  Composants
      IdFTP1: TIdFTP;
      IdSSLIOHandlerSocketOpenSSL1: TIdSSLIOHandlerSocketOpenSSL;
*)
procedure TForm1.ConfigFtp;
// appelé depuis le FormCreate
begin
  IdSSLIOHandlerSocketOpenSSL1.SSLOptions.Method := sslvSSLv23;
  IdSSLIOHandlerSocketOpenSSL1.SSLOptions.Mode := sslmClient;
  IdSSLIOHandlerSocketOpenSSL1.SSLOptions.VerifyMode := [sslvrfPeer];
  IdSSLIOHandlerSocketOpenSSL1.PassThrough := False;
 
  IdFTP1.AutoLogin := False;
  IdFTP1.Passive := True;
  IdFTP1.IOHandler := IdSSLIOHandlerSocketOpenSSL1;
  IdFTP1.UseTLS := utUseExplicitTLS;
  IdFTP1.DataPortProtection := ftpdpsPrivate;
 
  IdFTP1.Host := FHost;  // 192.168.1.xxx
  IdFTP1.Port := FPort;  // 990
  IdFTP1.Username := FUserName;
  IdFTP1.Password := FPassword;
  IdFTP1.ConnectTimeout := 5;
 
//  IdSSLIOHandlerSocketOpenSSL1.Destination := IdFTP1.Host;
//  IdSSLIOHandlerSocketOpenSSL1.Host := IdFTP1.Host;
//  IdSSLIOHandlerSocketOpenSSL1.Port := IdFTP1.Port;
end;
 
procedure TForm1.Button1Click(Sender: TObject);
begin
  Label1.Caption := 'Connexion...';
 
  try
    try
      IdFTP1.Connect;
      Label1.Caption := 'ok';
 
      // traitement à venir
    except
      on e: Exception do
        Label1.Caption := Format('Error : %s', [e.Message]);
    end;
  finally
    IdFTP1.Disconnect;
  end;
end;
J'obtiens le message "Error : Connect time out"

Savez-vous ce qui n'est pas correcte dans mon code ?