Hallo Liebe Delphi-Forum Community,
Ich hoffe ich finde hier jemand der mir Helfen kann.
Ich versuche nun die ganze nacht schon Login-Tool für
Wer-kennt-wen zu schreiben.
Ich habs bisher geschaft das er mich via SSL Einlogt
aber nicht das wkw das Die Cookies erkent.
Im klartext heist das: Ich kann mich zwahr Einloggen
aber bekomme die Meldung das Cookies nicht gespeichert werden würden.
Drotz das ich den Indy CookieManager verwände.
Hier mal mein bisherrieges getippe:
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: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91: 92: 93: 94: 95: 96: 97: 98: 99: 100: 101: 102: 103: 104: 105: 106: 107: 108: 109: 110: 111: 112: 113: 114: 115: 116: 117: 118: 119: 120: 121: 122: 123: 124: 125: 126: 127: 128: 129: 130: 131: 132: 133: 134: 135: 136: 137: 138: 139: 140:
| unit uMain;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, IdCookie, IdIntercept, IdLogBase, IdLogEvent, StdCtrls, IdCookieManager, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdHTTP, StrUtils, ExtCtrls, IdIOHandler, IdIOHandlerSocket, IdIOHandlerStack, IdSSL, IdSSLOpenSSL;
type TfrmMain = class(TForm) IdHTTP: TIdHTTP; IdCookieManager: TIdCookieManager; memLog: TMemo; IdLogEvent: TIdLogEvent; pnlMain: TPanel; btnLogin: TButton; btnLogout: TButton; lblEmail: TLabel; edtEmail: TEdit; lblPassword: TLabel; edtPassword: TEdit; Button1: TButton; IdSSLIOHandlerSocketOpenSSL1: TIdSSLIOHandlerSocketOpenSSL; Button2: TButton; procedure btnLogoutClick(Sender: TObject); procedure btnLoginClick(Sender: TObject); procedure IdLogEventSent(ASender: TComponent; const AText, AData: string); procedure IdLogEventReceived(ASender: TComponent; const AText, AData: string); procedure IdCookieManagerNewCookie(ASender: TObject; ACookie: TIdCookieRFC2109; var VAccept: Boolean); procedure Button1Click(Sender: TObject); procedure IdHTTPRedirect(Sender: TObject; var dest: string; var NumRedirect: Integer; var Handled: Boolean; var VMethod: string); procedure Button2Click(Sender: TObject); private public end;
var frmMain: TfrmMain;
implementation
{$R *.dfm}
procedure TfrmMain.btnLoginClick(Sender: TObject); var sHTMLCode: String; iPos1, iPos2: Integer; sFormKey, sIV, sCheckCode: String; slParams: TStringList; Str_ : String; begin slParams :=TStringList.Create;
slParams.Add('loginName='+edtEmail.Text); slParams.Add('&pass='+edtPassword.Text); slParams.Add('&logIn=1');
IdHTTP.AllowCookies := true;
IdHTTP.Post('https://secure.wer-kennt-wen.de/login/index', slParams); slParams.Free; end;
procedure TfrmMain.btnLogoutClick(Sender: TObject); begin IdHTTP.Get('http://www.wer-kennt-wen.de/Logout'); end;
procedure TfrmMain.Button1Click(Sender: TObject); begin memLog.Lines.SaveToFile('C:\test.html'); end;
procedure TfrmMain.Button2Click(Sender: TObject); var Str_ : String; s : TStringList; begin s := TStringList.Create; s.Add(Str_); s.SaveToFile('C:\test2.html'); ShowMessage(s.Strings[0]); s.Free; end;
procedure TfrmMain.IdCookieManagerNewCookie(ASender: TObject; ACookie: TIdCookieRFC2109; var VAccept: Boolean); begin if (ACookie.Path = '') then ACookie.Path :='/'; memLog.Lines.Add('New Cookie:'); memLog.Lines.Add(' Comment: '+ACookie.Comment); memLog.Lines.Add(' Version: '+Inttostr(ACookie.Version)); memLog.Lines.Add(' CookieText: '+ACookie.CookieText); memLog.Lines.Add(' ServerCookie: '+ACookie.ServerCookie); memLog.Lines.Add(' ClientCookie: '+ACookie.ClientCookie); memLog.Lines.Add(' Domain: '+ACookie.Domain); memLog.Lines.Add(' Expires: '+DateToStr(ACookie.Expires)); memLog.Lines.Add(' CookieName: '+ACookie.CookieName); memLog.Lines.Add(' Path: '+ACookie.Path); memLog.Lines.Add(' Value: '+ACookie.Value); memLog.Lines.Add(' DisplayName: '+ACookie.DisplayName); memLog.Lines.Add(''); end;
procedure TfrmMain.IdHTTPRedirect(Sender: TObject; var dest: string; var NumRedirect: Integer; var Handled: Boolean; var VMethod: string); begin if (VMethod = 'hmPost') then VMethod := 'hmGet'; memLog.Lines.Add('Redirect:'); memLog.Lines.Add(' Dest: '+dest); memLog.Lines.Add(' NumRedirect: '+IntToStr(NumRedirect)); memLog.Lines.Add(' Handled: '+IntToStr(Integer(Handled))); memLog.Lines.Add(' Method: '+IntToStr(Integer(VMethod))); memLog.Lines.Add(''); end;
procedure TfrmMain.IdLogEventReceived(ASender: TComponent; const AText, AData: string); begin memLog.Lines.Add('Received:'); memLog.Lines.Add(AData); memLog.Lines.Add(''); end;
procedure TfrmMain.IdLogEventSent(ASender: TComponent; const AText, AData: string); begin memLog.Lines.Add('Sent:'); memLog.Lines.Add(AData); memLog.Lines.Add(''); end;
end. |
Ich weis nicht mehr was ich machen soll ich hab schon versucht das Cookie IdHTTP ohne Cookiemanager zu übergeben was aber auch nicht hilft!
Ich hab vor mir jedeglich nen Tool zu schreiben das mich bei WKW einloggt
und die Anzahl meiner Mails im Postfach Checkt bez verkleicht und mich dan Local am
Rechner benarichtigt wenn ich ne neue Mail im Postfach hab.
Lg
denny
Moderiert von
Christian S.: Code- durch Delphi-Tags ersetzt