![]() |
FTP über Proxy (Fehler bei Connect > GetResponse)
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:PROXY_L:70.***.***.***:21 // Parameters in the Connect function LOG:PROXY_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:Disconnected. // idFTP1.OnStatus ERROR!:Connection Closed Gracefully. // Exception !!!! ///////////////////////////////////////////////////////////////////////// END LOG /////////////////// Was mach ich denn falsh? Hat jemand einen funktionierenden Beispiel Code? Grüß, Alex |
Re: FTP über Proxy (Fehler bei Connect > GetResponse)
Ich habe ein ähnliches Problem, das mit Connection Closed Gracefully habe ich nur wenn ich mein Programm aus Delphi (Delphi5) heraus starte.
Allerdings funktioniert das mit dem Proxy bei mir auch nicht, ich bin in der Schule und arbeite an einem FTP Client. Um in der Schule in benutzen zu können muss ich die Proxy Daten eintragen, doch mein Programm verbindet einfach nicht und stürzt ab. |
Re: FTP über Proxy (Fehler bei Connect > GetResponse)
Kann da wirklich keiner helfen? Das glaube ich nicht.
|
Re: FTP über Proxy (Fehler bei Connect > GetResponse)
Hallo KringKing :dp:
Mal ein paar Hilfen für den Einstieg im Forum ;) :
Gruß, Daniel |
Re: FTP über Proxy (Fehler bei Connect > GetResponse)
Delphi-Quellcode:
Mein Programm macht absolut garnichts und gibt auch keine Fehlermeldung aus.
if verbinden then with MyFTP do // Wenn keine Verbindung besteht dann Verbinde
begin // Eingabe der FTP Daten Username := Edit2.Text; Password := Edit3.Text; Host := Edit1.Text; ProxySettings.ProxyType := fpcmOpen; ProxySettings.UserName := ''; ProxySettings.Password := ''; ProxySettings.Host := '85.214.148.109'; ProxySettings.Port := 3128; try Connect; // Verbindung herstellen ShowMessage ('Verbindung hergestellt.'); Button1.Caption := 'Trennen'; ClearAll(true); // Passwortfeld leeren globalpath := '/'; ActList; except ShowMessage ('Verbindung fehlgeschlagen.'); end; end |
Re: FTP über Proxy (Fehler bei Connect > GetResponse)
Bei FTP gibt es kaum einen Standard für Proxyserver.
Es gibt bestimmt 10 versch. Varianten die einem das Leben schwer machen. Es gibt aber eine besondere Variante und das ist der sog. Cern-Proxy. Der Proxyserver wird vom Client über HTTP (!) angesprochen und redet mit dem eigentlichen FTP-Server mit FTP. Das bedeutet, dass in diesem Fall das File Transfer Protokoll für den Client völlig nutzlos ist, denn er muss ja HTTP sprechen. Der Proxytype wäre hier
Delphi-Quellcode:
fpcmHttpProxyWithFtp, //HTTP Proxy with FTP support. Will be supported in Indy 10
|
Re: FTP über Proxy (Fehler bei Connect > GetResponse)
Also ich habe das nicht so ganz verstanden, liegt es jetzt an dem Proxy oder an den Einstellungen der Indy Komponente.
|
Re: FTP über Proxy (Fehler bei Connect > GetResponse)
Zitat:
Wenn du min. Indy Version 10 hast und die Programmierer von Indy gute Arbeit geleistet haben, dann hast du eine Chance, dass es klappt. |
Re: FTP über Proxy (Fehler bei Connect > GetResponse)
Problem ist nur das ich Indy9 verwende, da ich mein Programm mit Delphi 5 erstellen muss.
Habe Indy9 auf Empfehlung verwendet, da es stabiler laufen würde mit D5. |
Re: FTP über Proxy (Fehler bei Connect > GetResponse)
Dann wird dein Programm so nicht funktionieren, wenn du an Delphi 5 gebunden bist. Entweder du probierst die 10er aus, oder du verwendest Turbo Delphi. Da muss du die INDY-Komponenten aber von Hand erzeugen, im Quelltext. Drag'n'Drop auf die Form is nicht. ;)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:55 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz