Autor Beitrag
Nano-Ware
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 394
Erhaltene Danke: 7



BeitragVerfasst: 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)

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
procedure TForm1.IdCookieManager1NewCookie(ASender: TObject;
  ACookie: TIdCookieRFC2109; var VAccept: Boolean);
begin

ShowMessage('');

end;

uses ..

ausblenden 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;


ausblenden 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19341
Erhaltene Danke: 1752

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: 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:
Zitat:
Unit: IdCookie
:roll:

Für diesen Beitrag haben gedankt: Nano-Ware
Nano-Ware Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 394
Erhaltene Danke: 7



BeitragVerfasst: 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 user profile iconNarses: Beiträge zusammengefasst---

Hat sich erledigt sry (:

es gibt doch noch ein Problem

mein Code :

ausblenden volle Höhe 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:
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
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19341
Erhaltene Danke: 1752

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: 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. :nixweiss: