| Autor |
Beitrag |
Nano-Ware
      
Beiträge: 394
Erhaltene Danke: 7
|
Verfasst: So 23.01.11 16:08
hey
ich habe delphi 2010 bei dem Indy schon vorinstalliert war. Ich habe nun ein Problem.. Ich habe nur die "NewCookie" Procedure erstellt (über Ereignisse im Designer)
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7:
| procedure TForm1.IdCookieManager1NewCookie(ASender: TObject; ACookie: TIdCookieRFC2109; var VAccept: Boolean); begin
ShowMessage('');
end; |
uses ..
Delphi-Quelltext 1: 2: 3: 4:
| uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, IdCookieManager, IdIntercept, IdLogBase, IdLogEvent, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdHTTP, StdCtrls, ExtCtrls, StrUtils; |
Delphi-Quelltext 1: 2:
| procedure IdCookieManager1NewCookie(ASender: TObject; ACookie: TIdCookieRFC2109; var VAccept: Boolean); |
Das erzeugt einen Fehler weil "TIdCookieRFC2109" nicht definiert ist oder so ähnlich.. ich hab leider keine Ahnung was zu tun ist.. normalerweise hätte Delphi TIdCookieRFC2109 ja einfach selbst hinzufügen müssen
Danke
|
|
jaenicke
      
Beiträge: 19341
Erhaltene Danke: 1752
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: So 23.01.11 16:12
Delphi fügt nur die Units hinzu, die direkt für die Komponente notwendig sind.
Aber eine Suche bei Google, erstes Ergebnis anklicken: 
Für diesen Beitrag haben gedankt: Nano-Ware
|
|
Nano-Ware 
      
Beiträge: 394
Erhaltene Danke: 7
|
Verfasst: So 23.01.11 16:15
Ich bin auf einen Quellcode gestoßen.. Da stand das TIdCookieRFC2109 = class(TIdNetscapeCookie) also hab ich einfach mal gedacht ich füg NetscapeCookie zu uses hinzu .. geht leider nicht. Kann nicht aufgelöst werden und so
danke schonmal
--- Moderiert von Narses: Beiträge zusammengefasst---
Hat sich erledigt sry (:
es gibt doch noch ein Problem
mein Code :
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:
| unit Unit1;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, IdCookieManager, IdIntercept, IdLogBase, IdLogEvent, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdHTTP, StdCtrls, ExtCtrls, StrUtils, IdCookie;
type TForm1 = class(TForm) memlog: TMemo; edit_loginname: TEdit; edit_password: TEdit; btn_start: TButton; HTTP: TIdHTTP; LogEvent: TIdLogEvent; IdCookieManager1: TIdCookieManager; Button1: TButton; Button2: TButton; procedure btn_startClick(Sender: TObject); procedure IdCookieManager1NewCookie(ASender: TObject; ACookie: TIdCookieRFC2109; var VAccept: Boolean); procedure logout(Sender: TObject); procedure redirect(Sender: TObject; var dest: string; var NumRedirect: Integer; var Handled: Boolean; var VMethod: string); procedure Button2Click(Sender: TObject);
var private public end;
var Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.btn_startClick(Sender: TObject); var sHTMLCode: String; iPos1, iPos2: Integer; sFormKey, sIV, sCheckCode: String; slParams: TStringList; begin slParams :=TStringList.Create; sHTMLCode :=HTTP.Get('http://www.schuelervz.net/'); iPos1 :=Pos('name="formkey" value="', sHTMLCode)+22; iPos2 :=PosEx('"', sHTMLCode, iPos1); sFormKey :=Copy(sHTMLCode, iPos1, iPos2-iPos1); iPos1 :=PosEx('name="iv" value="', sHTMLCode, iPos2)+17; iPos2 :=PosEx('"', sHTMLCode, iPos1); sIV :=Copy(sHTMLCode, iPos1, iPos2-iPos1); iPos1 :=PosEx('name="checkcode" value="', sHTMLCode, iPos2)+24; iPos2 :=PosEx('"', sHTMLCode, iPos1); sCheckCode :=Copy(sHTMLCode, iPos1, iPos2-iPos1); slParams.Add('email='+edit_loginname.Text); slParams.Add('password='+edit_Password.Text); slParams.Add('login=Einloggen'); slParams.Add('jsEnabled=true'); slParams.Add('formkey='+sFormKey); slParams.Add('iv='+sIV); slParams.Add('checkcode='+sCheckCode); HTTP.Post('http://secure.schuelervz.net/Login', slParams); slParams.Free; end;
procedure TForm1.Button2Click(Sender: TObject); var
sTemp : String ;
begin
memLog.Text := ''; sTemp := HTTP.Get('http://schuelervz.net/home'); memlog.Text := sTemp; if Pos('Hey Der Tobi', sTemp) <> 0 then ShowMessage('Derzeit eingeloggt');
end;
procedure TForm1.IdCookieManager1NewCookie(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: '+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 TForm1.logout(Sender: TObject); begin
HTTP.Get('http://www.schuelervz.net/Logout');
end;
procedure TForm1.redirect(Sender: TObject; var dest: string; var NumRedirect: Integer; var Handled: Boolean; var VMethod: string); begin
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;
end. |
Er loggt sich bei SchülerVZ ein. Das ging auch die ganze zeit doch plötzloch kommt ein 500 internal Server Error ...
|
|
jaenicke
      
Beiträge: 19341
Erhaltene Danke: 1752
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: So 23.01.11 17:22
Vielleicht haben die gemerkt, dass du dich automatisch einloggst und haben deine IP / Login geblockt. Oder du schickst etwas Falsches, weil am Server etwas verändert wurde. 
|
|
|