Entwickler-Ecke
Internet / Netzwerk - Login mit IDHTTP schlägt fehl
the-kecks - Sa 16.05.09 13:53
Titel: Login mit IDHTTP schlägt fehl
hi,
aus dem Tutorial von Delhpi-treff und den bereits existierenden themen hier habe ich mir ein programm zusammengebastelt was sich hier einloggt. nur funktioniert das ganze noch nicht so wie ich es will^^
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| procedure TForm1.Button1Click(Sender: TObject); var HTMLCode : String; sl : TStringlist; begin sl:=TStringList.Create; IdHTTP1.HandleRedirects:=true; IdHTTP1.allowcookies:=true; sl.Add('username='+edit1.Text); sl.Add('password='+edit2.Text); IdHTTP1.Post('http://www.delphi-forum.de/login.php', sl); HTMLCode :=IdHTTP1.Get('http://www.delphi-forum.de/index.php'); memo1.lines.add(HTMLCode); end; |
ich bleibe ausgeloggt (erkennt man ja am html code) :(
mfg
Xentar - Sa 16.05.09 15:02
Kann es sein, dass du noch so nen Cookie Manager, oder wie das Ding heißt, brauchst?
the-kecks - Sa 16.05.09 15:43
hab den cookiemanager mal mit rein genommen. bin immernoch ausgeloggt. desweiteren wenn ich ein OnNewCookie ereignis erstellen will kommt der fehler "Undefinierter Bezeichner: 'TIdCookieRFC2109'". vll muss ich ja noch irgend ne information zum login hinzufügen...hat da jmd ne idee?
mfg
Raid - Sa 16.05.09 17:10
[Edited]
Delphi-Quelltext
1: 2: 3:
| IdHTTP1.CookieManager := IdCookieManager1; IdHTTP1.HandleRedirects := true; IdHTTP1.Request.UserAgent := 'Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10'; |
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| IdCookieManager1 -> Events -> OnNewCookie:
uses IdCookie;
procedure TForm1.IdCookieManager1NewCookie(ASender: TObject; ACookie: TIdCookieRFC2109; var VAccept: Boolean); begin ACookie.Path := '\'; end; |
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17:
| var Params: TStringList; HTMLCode: string; begin Params := TStringList.Create; try Params.Add('username=Raid'); Params.Add('password=GehtNimandWasAn!');
HTMLCode := IdHTTP1.Post('http://www.delphi-forum.de/login.php', Params);
if HTMLCode <> '' then finally Params.Free; end; end; |
Moderiert von
Narses: Code- durch Delphi-Tags ersetzt
the-kecks - Sa 16.05.09 18:26
erstmal thx für deine mühe raid. aber ich bleibe immernoch ausgeloggt.
1. der quelltext der seite ist immernoch der gleiche --> ausgeloggt
2. der string HTMLcode ist immer ''
das mit idcookie klappt jetzt!
hierzu hab ich mir einen kleinen "log" geschrieben/rausgesucht ;)
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| Memo1.Lines.Add('New Cookie:'); Memo1.Lines.Add(' Comment: '+ACookie.Comment); Memo1.Lines.Add(' Version: '+ACookie.Version); Memo1.Lines.Add(' CookieText: '+ACookie.CookieText); Memo1.Lines.Add(' ServerCookie: '+ACookie.ServerCookie); Memo1.Lines.Add(' ClientCookie: '+ACookie.ClientCookie); Memo1.Lines.Add(' Domain: '+ACookie.Domain); Memo1.Lines.Add(' Expires: '+ACookie.Expires); Memo1.Lines.Add(' CookieName: '+ACookie.CookieName); Memo1.Lines.Add(' Path: '+ACookie.Path); Memo1.Lines.Add(' Value: '+ACookie.Value); Memo1.Lines.Add(' DisplayName: '+ACookie.DisplayName); Memo1.Lines.Add(''); |
da kommt raus:
| Zitat: |
New Cookie:
Comment:
Version:
CookieText: df_data=a%3A2%3A%7Bs%3A11%3A%22autologinid%22%3Bs%3A0%3A%22%22%3Bs%3A6%3A%22userid%22%3Bi%3A-1%3B%7D; path=\; domain=http://www.delphi-forum.de
ServerCookie: df_data=a%3A2%3A%7Bs%3A11%3A%22autologinid%22%3Bs%3A0%3A%22%22%3Bs%3A6%3A%22userid%22%3Bi%3A-1%3B%7D; path=\; domain=http://www.delphi-forum.de
ClientCookie: df_data=a%3A2%3A%7Bs%3A11%3A%22autologinid%22%3Bs%3A0%3A%22%22%3Bs%3A6%3A%22userid%22%3Bi%3A-1%3B%7D
Domain: http://www.delphi-forum.de
Expires: Sun, 16-May-2010 16:24:59 GMT
CookieName: df_data
Path: \
Value: a%3A2%3A%7Bs%3A11%3A%22autologinid%22%3Bs%3A0%3A%22%22%3Bs%3A6%3A%22userid%22%3Bi%3A-1%3B%7D
DisplayName: TIdCookieRFC2109
New Cookie:
Comment:
Version:
CookieText: df_; path=\; domain=http://www.delphi-forum.de
ServerCookie: df_; path=\; domain=http://www.delphi-forum.de
ClientCookie: df_
Domain: http://www.delphi-forum.de
Expires:
CookieName: df_sid
Path: \
Value: a9d1885700038791c596fa8a6feaed75
DisplayName: TIdCookieRFC2109
|
mfg
Raid - Sa 16.05.09 20:11
Ich denke mal beim Login fehlen Parameter. Beim Analysieren kam :arrow: "username"; "password"; "redirect"; "login" raus.
Versuch es mal so:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16:
| var HTMLCode: string; Params: TStringList; begin Params := TStringList.Create; try Params.Add('username=' + Edit1.Text); Params.Add('password=' + Edit2.Text); Params.Add('redirect='); Params.Add('login=Login');
HTMLCode := IdHTTP1.Post('http://www.delphi-forum.de/login.php', Params); finally Params.Free; end; end; |
the-kecks - Sa 16.05.09 20:23
//hab jetz mal versucht meinen post mit dem programm zu editieren...es klappt falls ihr das lest :D
Raid - Sa 16.05.09 20:47
Nein, aber ein FireFox addon, das nennt sich "Live HTTP Headers". Leicht zu verstehen!
-> Downloaden
-> Installieren
-> FireFox neustarten
-> Extras -> "Live HTTP Headers" -> die CheckBox "Mitscheiden" checked
-> Action ausführen während das "Live HTTP Headers" fenster auf ist. Mit Action ist Login Button drücken gemeint.
the-kecks - Sa 16.05.09 21:14
ok thx hat alles geklappt!
kann jetzt posten (poste gerade mit meinem programm) und editieren...und natürlich login/logout ;)
mfg
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!