Entwickler-Ecke

Internet / Netzwerk - IdHttp Login + Unterseite ansteuern


LittleBen - Mo 24.10.11 18:57
Titel: IdHttp Login + Unterseite ansteuern
Hallo zusammen,
ich befasse mich zur Zeit mit dem automatische Einloggen auf einer Seite. Jedoch nicht nur mit dem Einloggen, sondern auch mit dem, was normalerweise auch danach passiert -> Unterseiten ansteuern.
Dadurch, dass es viele Ergebnisse zu diesem Thema im Netz gibt, habe ich mir schon einen funktionierend Code fürs Einloggen gebastelt:

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:
27:
28:
29:
30:
31:
procedure TForm1.Connect;
var IdHTTP:TIdHTTP;
    IdCookieManager:TIdCookieManager;
    sl: TStringList;
begin
  IdHTTP:= TIdHTTP.Create(nil);
  IdCookieManager:= TIdCookieManager.Create(nil);
  sl:= TStringList.Create;

  try
   IdHTTP.CookieManager:= IdCookieManager;
   IdHTTP.AllowCookies:= true;
   IdHttp.Request.UserAgent:='Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.2; .NET4.0C)';
   IdHttp.Request.BasicAuthentication:= true;
   IdHttp.HandleRedirects:= true;

   sl.Add('username=EinName');
   sl.Add('password=EinPasswort');
   sl.Add('redirect='+'');
   sl.Add('login='+'Login');}

   cCode:= IdHTTP.Post('http://www.EinDelphiForum.de/login.php', sl);
   memlog.Text:= cCode;
   WB_LoadHTML(web, cCode);

  finally
   IdCookieManager.Free;
   IdHTTP.Free;
   sl.Free;
  end;
end;

Wie schon gesagt, dieser Teil funktioniert wunderbar!
Aber was ist, wenn ich nun eine Unterseite ansteuern möchte?
Durch googlen sind mir die Begriffe Session-ID + Cookie und Http-Header begegnet. Das mit der Session-ID ergibt für mich sinn. Doch wie übergebe ich diese ID der Homepage? Wie soll ich das mit einem Cookie machen?

Könnt ihr mir helfen?

Viele Grüße,
Benny

P.S: Ich bin mir bewusst, dass diese Art von Einloggen nicht auf allen Seiten gestattet ist. Desshalb nenne ich in diesem Thread auch keine konkrete Website (deute vielleicht eine an :) ).
Ach, wäre es auf delphi-forum.de erlaubt?