Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   IdFTP mit Proxy (https://www.delphipraxis.net/161572-idftp-mit-proxy.html)

Delphi-Coder 10. Jul 2011 12:34

IdFTP mit Proxy
 
Hallo Community,

nach langer Zeit muss ich mal wieder ein Delphi-Programm erweitern und stoße prompt wieder auf Probleme. Kurz zur Vorgeschichte: Ich muss per FTP Dateien up- und downloaden. Das klappt auch alles wunderbar. Problematisch ist es nun, wenn ein Proxy zwischen geschaltet werden muss.
Es ist ein HTTP-Proxy, welcher auch für FTP genutzt werden kann (und soll).

Nun habe ich mich schon etwas belesen und gesehen, dass in Indy10 die Einstellung
Delphi-Quellcode:
IdFtp1.ProxySettings.ProxyType := fpcmHttpProxyWithFtp;
noch nicht implementiert ist! Dafür wird der Umweg über die Komponenten TIdIOHandlerStack und TIdConnectThroughHttpProxy empfohlen. Diese nutze ich nun also. Mein Code dafür sieht so aus:

Delphi-Quellcode:
FTPClient.IOHandler := IdIOHandlerStack1;
IdIOHandlerStack1.TransparentProxy := IdConnectThroughHttpProxy1;
IdConnectThroughHttpProxy1.Host   := proxysrv;
IdConnectThroughHttpProxy1.Port   := proxyport;
IdConnectThroughHttpProxy1.Enabled := true;
Leider kann sich das Programm damit nicht zum Server verbinden. Als "Fehler" bekomme ich immer die
Meldung "EIdConnClosedGracefully".

Habt ihr noch eine Idee, woran das nun liegen kann?! Ich bin mit meinem Latein am Ende!


Viele Grüße,
Delphi-Coder

geskill 10. Jul 2011 15:59

AW: IdFTP mit Proxy
 
Hallo,
bei der HTTP Komponente muss ich zuerst die Proxy Einstellungen setzten, dann der TransparentProxy zuweisen und zum Schluss der Komponente via IOHandler übergeben. Kannst es ja mal so probieren:

Delphi-Quellcode:
IdConnectThroughHttpProxy1.Host   := proxysrv;
IdConnectThroughHttpProxy1.Port   := proxyport;
IdConnectThroughHttpProxy1.Enabled := true;

IdIOHandlerStack1.TransparentProxy := IdConnectThroughHttpProxy1;

// Jetzt der FTP Komponente zuweisen
FTPClient.IOHandler := IdIOHandlerStack1;

Grüße


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:21 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz