Hallo,
Ich versuche mit "
Indy FTP Client" die Verbindung mit einem Internet
FTP Server über ProxyServer(ProxyPlus Test Anwendung)
Jedes mal bekomme ich eine
Exception Message "Connection Closed Gracefully."
Habe alle mögliche ProxyTypes ausprobiert, und es geht nicht.
(Benutze
Indy 10)
Glechzeitig habe ich das gleiche mit TotalCommander ausprobiert, funktioniert ohne Probs. aber nur mit dem Typ: "HttpProxy Mit
Ftp"
Wenn ich aber den Proxy server ausschalte, und eine direkte Verbindung herstelle, kann ich ohne Probs. auf mein Inet-
FTP zugreifen. (natürlich in diesem Fall sind die Proxy einstellungen auf "fpcmNone" = aus)
Habe versucht Fehler zu verfolgen (Siehe LOG) :
Also:
idFTP.Connect => GetResponse([220]) => CheckConnected
und bei CheckConnected hängt der erstmal ca. 5 Minuten, dann macht die
Exception.
(Siehe LOG unten)
So schaut mein Code aus ( fast so!
)
// Using
Indy V10
idFTP1.AutoLogin := True;
idFTP1.Username := "FTPUserName";
idFTP1.Password := "FTPUserPasword";
idFTP1.Host := "Target
FTP Host
IP Address"; // 70.***.***.***
idFTP1.ProxySettings.ProxyType := fpcmOpen; // or fpcmHttpProxyWithFtp;
idFTP1.ProxySettings.UserName := ""; // no Proxy - UserName and password requed
idFTP1.ProxySettings.Password := ""; // no Proxy - UserName and password requed
idFTP1.ProxySettings.Host := "ProxyServerIPAddress"; //192.168.***.***
idFTP1.ProxySettings.Port := 4480; // Proxy Port
idFTP1.Passive := TRUE; // or FALSE?
idFTP1.ConnectTimeOut := 7000;
idFTP1.TransferTimeOut := 7000;
try
idFTP1.Connect; // =>
Exception by GetResponse([220])=>CheckConnected
ShowMessage('Connect is OK!');
except
on E :
Exception do
begin
ShowMessage(E.Message); // bzw. Add Line to LOG Memo.
end;
end;
Und hier ist die LOG Ausgabe.
Kommt von meinem
Unit + idFTP,idTCPConnection.
///////////////// LOG OUT (FROM Connect Function) /////////////////
PROXY-TYPE:Open
PROXY-HOST:192.168.***.***
PROXY-USER:
FTP-HOST:70.***.***.***
FTP-USER:FTPUserName
FTP: PASSIVE
FTP-SET-CONNECTTIMEOUT:7000
FTP-SET-TRANSFERTIMEOUT:7000
Connecting to
FTP ...
LOG:FTPCONNECTSTART // Calling idFTP1.Connect
LOG
ROXY_L:70.***.***.***:21 // Parameters in the Connect function
LOG
ROXY_F:192.168.***.***:4480 // Parameters in the Connect function
LOG:USING TLC? => NO
LOG:CALL CONNECT... // inherited Connect;
FTP-STATUS:Connecting to 192.168.***.***. // idFTP1.OnStatus
FTP-STATUS:Connected. // idFTP1.OnStatus
LOG:CALL RESPONSE... // Calling GetResponse([220])
LOG:CALL GetInternalResponse... // Calling GetInternalResponse
LOG:CALL CheckConnected... // CheckConnected => after 5 Min. =>
Exception
FTP-STATUS
isconnected. // idFTP1.OnStatus
ERROR!:Connection Closed Gracefully. //
Exception !!!!
///////////////////////////////////////////////////////////////////////// END LOG ///////////////////
Was mach ich denn falsh?
Hat jemand einen funktionierenden Beispiel Code?
Grüß,
Alex