Hmm ich benutzte auch
Indy 10 (10.5.7) und da gibt es kein AddCookie()...
Du hast da scheinbar auch was anderes gemacht. Ich möchte zuerst den Login posten und dann die
HTML Seite runterladen.
1. Log-In Paramter senden: HTTP.Post('http://www.my-domain.com/login.php',lParams);
2. "Logged In"
HTML Seite runterladen: ResponseCode.Text:=HTTP.Get('http://www.my-domain.com/');
Delphi-Quellcode:
begin
HTTP:=TIdHTTP.Create(
nil);
HTTP.AllowCookies:=True;
HTTP.CookieManager:=IdCookieManager1;
lParams:=TStringList.Create;
ResponseCode:=TStringList.Create;
try
try
lParams.Values['
username']:='
Username';
lParams.Values['
password']:='
Password';
lParams.Values['
submit']:='
Login';
HTTP.Post('
http://www.my-domain.com/login.php',lParams);
Cookie:=HTTP.Response.RawHeaders.Values['
Set-Cookie'];
Cookie:=Copy(Cookie,1,Pos('
;',Cookie)-1);
cookieURL:=TIdURI.Create('
www.my-domain.com');
HTTP.CookieManager.AddServerCookie(Cookie,cookieURL);
ResponseCode.Text:=HTTP.Get('
http://www.my-domain.com/');
Memo1.Text:=ResponseCode.Text;
except
on Exception do
ShowMessage('
Fehler..');
end;
//Edit, macht auch eigentlich kein Sinn den Cookie nochmals in den Manager einzufügen. Die Ausgabe hat gezeigt das der Cookie bereits vorhanden ist.