Habe folgendes Verständnisproblem:
Meine Anwendung kopiert manchmal eine Datei auf einen Webserver, oder lädt eine Datei vom Server herunter.
Zunächst hatte ich das über
Ftp gelöst (
Indy 9.0.18 / D5). Klappt alles. Einige Anwender hatten kein
Ftp-Zugang also habe ich auch einen Upload bzw. Download über Http eingebaut. Klappt auch alles. Viele Prozeduren sind ja zueinander analog:
idFtp.Connect analog zu idHttp.Connect
idFtp.Connected analog zu idHttp.Connected
idFtp.WorkBegin analog zu idHttp.WorkBegin
usw.
Immer wenn ich etwas hoch- unter herunterladen will, habe ich vorher immer ein idHttp.Connect durchgeführt und anschließend idHttp.Post oder idHttp.Get, so fern der User das Http-Protokoll gewählt hat. Etwa so:
Delphi-Quellcode:
with IDHTTPOT do
begin
Host := My.Host;
ReadTimeOut := My.TimeOut;
end;
if FHTPID.UseProxy then with IDHTTPOT.ProxyParams do
begin
ProxyServer := My.ProxyHost;
ProxyPassword := My.ProxyPasswort;
ProxyPort := My.ProxyPort;
ProxyUserName := My.ProxyUsername;
end;
try
IDHTTPOT.Connect;
except
MessageDlg('HTTP-Verbindung konnte nicht aufgebaut werden!',mtError,[mbOk],0);
end;
Wenn der Zugang über einen Prroxy erfolgen muss, habe ich die Proxy-Einstellungen hinterlegt (siehe oben).
Nur leider funktioniert dann (also im Proxy-Fall)
IDHTTPOT.Connect;
nicht mehr, wohl aber z.B. ein anschließendes IDHTTPOT.Post. Ich würde erwarten, dass beide Befehle
funktionieren oder keiner.
Kann mir das jemand erklären?