Entwickler-Ecke
Internet / Netzwerk - FTP über Proxy (Fehler bei Connect > GetResponse) Indy FT
mcknew - Sa 21.05.05 01:13
Titel: FTP über Proxy (Fehler bei Connect > GetResponse) Indy FT
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! ;) )
Delphi-Quelltext
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:
| idFTP1.AutoLogin := True; idFTP1.Username := "FTPUserName"; idFTP1.Password := "FTPUserPasword"; idFTP1.Host := "Target FTP Host IP Address"; idFTP1.ProxySettings.ProxyType := fpcmOpen; idFTP1.ProxySettings.UserName := ""; idFTP1.ProxySettings.Password := ""; idFTP1.ProxySettings.Host := "ProxyServerIPAddress"; idFTP1.ProxySettings.Port := 4480; idFTP1.Passive := TRUE; idFTP1.ConnectTimeOut := 7000; idFTP1.TransferTimeOut := 7000;
try idFTP1.Connect; ShowMessage('Connect is OK!'); except on E : Exception do begin ShowMessage(E.Message); end; end; |
Und hier ist die LOG Ausgabe.
Kommt von meinem Unit + idFTP,idTCPConnection.
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23:
| ///////////////// 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
Moderiert von
raziel: Delphi-Tags hinzugefügt.
MAlsleben - Mo 23.05.05 11:00
Hi,
soweit ich in der Hilfe von Indy 10 gelesen habe, wird FTP über HTTP-Proxy von Indy noch nicht unterstützt, obwohl man es in der Komponente auswählen kann.
Gruß Micha.
mcknew - Di 24.05.05 09:48
Hmm, bei Indy 9 stand bei HttpProxyWithFTP // Wird ab Indy 10 Implementiert
Bei Indy 10 steht bei HttpProxyWithFTP // Noch nicht implementiert
Gibt es alternative Möglichkeiten/Komponente um auf einen FTP über Proxy zuzugreifen?
Grüß,
Alex
MAlsleben - Di 24.05.05 10:32
Hi,
entweder du nimmst einen transparenten Proxy/ Firewall, dann muß du im Indy garnichts machen, dann routet die Proxy das oder Du nimmst einen Socks-Proxy-Server. Das kann mit der Indy FTP-Komponente gemacht werden. Habe ich zumindest in Indy 8 und 9 schon gemacht. Das einzige worauf mann achten muß, ist, das häufig aktives FTP von Firewalls nicht zugelassen wird, d.h. passives nehmen. Allerdings hatte ich auch im Internet schon FTP-Server erlebt, die kein passives FTP unterstützen. Da sieht es dann dünn aus.
Gruß Micha.
mcknew - Di 24.05.05 12:29
Leider muss ich alle mögliche Proxy Server unterstützen.
(Update Funktion in App, kontaktiere immer meinen eigenen Inet-FTP Server)
Ist die eine andere Komponente für Delphi bekannt, wo man die Dateien per FTP mit Proxy runterladen kann?
Grüß,
Alex
MAlsleben - Mi 25.05.05 13:47
Hi,
schau Dir mal ICS an
http://www.overbyte.be , habe ich allerdings noch nicht produktiv mit gearbeitet.
Gruß Micha
MadCyborg - So 09.10.05 16:21
@mcknew: bist du mit ics zu einem ergebnis gekommen?
ich muss nämlich auch über nen http-proxy auf nen ftp zugreifen, hab mich aber noch nicht eingearbeitet.
Pepe - Di 11.10.05 01:11
könntes noch indy neun installieren oder gucken, ob der proxy auch noch nen ftp-proxy auf 2121 laufen hat! ist der http proxy passwort geschützt?
mfg
pepe
MadCyborg - Di 11.10.05 15:10
hm, was soll mir indy 9 bringen? oben steht doch, das es kein ftp über http-proxy unterstützt?
du/irgendeiner weis nicht zufällig wann die nächste indy-version kommt?
mein http-proxy ist nicht passwortgeschützt, hat aber auch nix weiter laufen als eben http mit ftp-unterstützung.
ich hab derweil mal mit ics rumprobiert, mit den demos krieg ich nie nen erfolgreichen connect hin.
ich krieg immer:
*** ERROR 10061 ***
*** 500 Connection refused (Winsock error #10061) ***
€\: selbstverständlich mit zugansdsdaten, die sonst funktionieren (mit dem totalcommander)
Pepe - Do 13.10.05 18:00
sorry, hatte mich verlesen, dachte in indy neun ginge es...
welchen proxy benutzt du denn?
wann die neue indy version rauskommt weiß ich leider auch nicht...
MadCyborg - Mo 17.10.05 11:31
das is n suse 7.3 oder 7.4 system, weis ich nicht genau, ich habe leider nicht die macht darüber (wenn das so wäre, würde da längst n router stehen).
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!