Autor Beitrag
DeadlyAppearance
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 113

Win 7
Delphi 2010 Arch., C# VS 2008
BeitragVerfasst: Do 27.04.06 14:07 
Hi.
Und zwar folgendes. Ich versuche mit einem Delphiprogramm auf eine Website zu kommen um mir via get die Quellcode zum Parsen zu holen.
Der Login auf der Seite funktioniert nur, wenn Cookies im Browser erlaubt sind. Im Cookie sind Benutzername sowie Passwort gespeichert.
Logge ich mich über den Browser ein, legt er ein Cookie an und ich kann selbst nach dem xten mal schließen des Browsers ohne Login in den geschützten Bereich.

Nun habe ich versucht mit
ausblenden Delphi-Quelltext
1:
Memo1.Text:=idHTTP1.Get('http://xxx/intern.php');					

Mir die Daten zu holen.
AllowCookies ist auf true. Dachte so benutzt er automatisch alle Cookies vom IE.
Leide komme ich immer nur auf die Seite, wo ich mich einloggen soll.

Nun ist meine Frage, wie kann ich den Cookie, welcher sich auf meiner Platte befindet benutzen um in den internen Bereich zu gelangen? Aus dem CookieManager bin ich nicht ganz schlau geworden :/.


Schon mal Danke für eure Hilfe.

Moderiert von user profile iconmatze: Code- durch Delphi-Tags ersetzt

_________________
Als du auf die Welt kamst, weintest du, und um dich herum freuten sich alle. Lebe so, daß, wenn du die Welt verläßt, alle weinen und du allein lächelst.
matze
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 4613
Erhaltene Danke: 24

XP home, prof
Delphi 2009 Prof,
BeitragVerfasst: Do 27.04.06 17:47 
du musst einfach den CookieManager auf dein Formular legen, und ihn dann in der entsprechenden Eigenschaft der HTTP Kompo eintragen. That's it !

_________________
In the beginning was the word.
And the word was content-type: text/plain.
DeadlyAppearance Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 113

Win 7
Delphi 2010 Arch., C# VS 2008
BeitragVerfasst: Fr 28.04.06 20:33 
Hmm, hab den Cookiemanager aufs Forumlar gelegt und verbunden. Doch hat sich nix geändert, komme weiterhin nur auf die Loginseite.
Öffne ich die URL im IE so gelange ich sofrt in internen Bereich, sprich das Cookie existiert korrekt.

_________________
Als du auf die Welt kamst, weintest du, und um dich herum freuten sich alle. Lebe so, daß, wenn du die Welt verläßt, alle weinen und du allein lächelst.
Balmung der blaue Gott
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 52

WinXP

BeitragVerfasst: Fr 28.04.06 21:30 
user profile iconDeadlyAppearance hat folgendes geschrieben:
Nun ist meine Frage, wie kann ich den Cookie, welcher sich auf meiner Platte befindet benutzen um in den internen Bereich zu gelangen? Aus dem CookieManager bin ich nicht ganz schlau geworden :/.


Falls du es nicht mit dem Manager schaffst, aber die Kompo nicht zu stark gekapselt ist, kannst du auch 'Cookie: name=Wert' mitsenden. (Wenn es keine Methode gibt und nicht auf ein Socketobjekt zugegriffen werden kann, gibt es immer noch die Möglichkeit direkt mit TClientSocket zu arbeiten.)
DeadlyAppearance Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 113

Win 7
Delphi 2010 Arch., C# VS 2008
BeitragVerfasst: Fr 28.04.06 22:31 
Verstehe dich leider nicht richtig Balmung der blaue Gott.
In google findet man leider sehr wenig bezüglich Cookies und dieser Komponente.

/edit
Habe nun eine 2. Seite versucht wo man sich auch einloggen kann.
Das steht im Cookie drin:
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
cookie_data
a%3A2%3A%7Bs%3A6%3A%22user_n%22%3Bs%3A16%3A%22Benutzername%22%3Bs%3A6%3A%22user_p%22%3Bs%3A32%3A%Passwort%22%3B%7D
blasc.planet-multiplayer.de/
1536
2180579456
29854164
78498256
29780739
*


In Delphi versuche ich nun folgendes:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
procedure TForm1.Button1Click(Sender: TObject);
var
  fn: TFileName;
  fs : TFileStream;
begin
  fn := 'C:\download.htm';
  fs := TFileStream.Create(fn, fmCreate);
  try
    try
      IdHTTP1.HandleRedirects := True;
      IdHTTP1.RedirectMaximum := 15;
      IdHTTP1.CookieManager.AddCookie('a%3A2%3A%7Bs%3A6%3A%22user_n%22%3Bs%3A16%3A%22Benutzername%22%3Bs%3A6%3A%22user_p%22%3Bs%3A32%3A%Passwort%22%3B%7Dblasc.planet-multiplayer.de/15362180579456298541647849825629780739*','blasc.planet-multiplayer.de/');
      IdHTTP1.Get('http://blasc.planet-multiplayer.de/', fs);
    except
    end;
  finally
    FreeAndNil(fs);
  end;
end;


Jedoch leider ohne Erfolg. Was mache ich falsch?

Moderiert von user profile iconraziel: Code- durch Delphi-Tags ersetzt.

_________________
Als du auf die Welt kamst, weintest du, und um dich herum freuten sich alle. Lebe so, daß, wenn du die Welt verläßt, alle weinen und du allein lächelst.
raziel
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2453

Arch Linux
JS (WebStorm), C#, C++/CLI, C++ (VS2013)
BeitragVerfasst: Sa 29.04.06 09:08 
Laut Indy 9 Doku sollte es das tun:

ausblenden Delphi-Quelltext
1:
IdHTTP1.CookieManager.AddCookie('cookie_data=a%3A2%3A%7Bs%3A6%3A%22user_n%22%3Bs%3A16%3A%22Benutzername%22%3Bs%3A6%3A%22user_p%22%3Bs%3A32%3A%Passwort%22%3B%7Dblasc.planet-multiplayer.de/15362180579456298541647849825629780739*','blasc.planet-multiplayer.de/');					


(Übrigens 1. Treffer bei Suche bei Google INDY ADDCOOKIE ;))

Gruß,
raziel

_________________
JSXGraph
matze
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 4613
Erhaltene Danke: 24

XP home, prof
Delphi 2009 Prof,
BeitragVerfasst: Sa 29.04.06 09:24 
es ist ja logisch, dass du mit indy auf die Login Seite kommst, da du dich ja mit den Indys noch nicht angemeldet hast.
Der Cookie Manager ließt nicht die Cookies vom IE oder anderen Browsern aus !

_________________
In the beginning was the word.
And the word was content-type: text/plain.
DeadlyAppearance Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 113

Win 7
Delphi 2010 Arch., C# VS 2008
BeitragVerfasst: Sa 29.04.06 14:45 
@raziel
leider funktioniert das nicht. Hab nun verschiedene Strings als Cookie versucht, er klappt nicht.
Leider isses auch etwas schwer herauszubekommen warum es net geht da man ja net weis was and der anderen Seite beim Webserver fehlt etc.

@matze
Das er net automatisch die IE-Cookies nutzt wusste ich nicht. Nur weis ich nun mein Beispielcookie dem Manager übergebe is halt noch die Frage die gelöst werden muss...

_________________
Als du auf die Welt kamst, weintest du, und um dich herum freuten sich alle. Lebe so, daß, wenn du die Welt verläßt, alle weinen und du allein lächelst.
JayEff
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2971

Windows Vista Ultimate
D7 Enterprise
BeitragVerfasst: Sa 29.04.06 14:57 
Naja, Opera und Firefox benutzen auch nicht die IE Cookies, genausowenig wie der IE deren Cookies findet... Ich teste mal was...

edit ok. Das klappte nicht:
ausblenden Delphi-Quelltext
1:
2:
http.CookieManager.AddCookie('cookie_data=a%3A2%3A%7Bs%3A6%3A%22user_n%22%3Bs%3A16%3A%22Benutzername%22%3Bs%3A6%3A%22user_p%22%3Bs%3A32%3A%Passwort%22%3B%7Dhttp://www.delphi-forum.de/15362180579456298541647849825629780739*','http://www.delphi-forum.de/');
Memo1.Text:=http.Get(edit1.Text);

Zurückgeliefert wurde mir die Seite: "Du kannst nur deine eigenen Beiträge bearbeiten"
Das müsste bedeuten, dass das Cookie garnicht beachtet wurde... Naja, ich hab wahrscheinlich irgentwas falsch gemacht ^^

_________________
>+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.
DeadlyAppearance Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 113

Win 7
Delphi 2010 Arch., C# VS 2008
BeitragVerfasst: Sa 29.04.06 15:14 
1:1 geht das natürlich nicht, da ich hier fürs Forum meinen Benutzername und das Passwort ersetzt habe mit den beiden Wörtern.
Habe eben den Inhalt meines Cookies hier 1:1 kopiert, alles in eine Zeile, eben so wie hier nur eben mit dem richtigen Benutzernamen.

Aber leider sehe ich immer den registirebutton, öffne ich die Seite dierekt ausm Browser is dieser nicht vorhanden da ich eben eingeloggt bin.

_________________
Als du auf die Welt kamst, weintest du, und um dich herum freuten sich alle. Lebe so, daß, wenn du die Welt verläßt, alle weinen und du allein lächelst.
JayEff
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2971

Windows Vista Ultimate
D7 Enterprise
BeitragVerfasst: Sa 29.04.06 15:34 
user profile iconDeadlyAppearance hat folgendes geschrieben:
1:1 geht das natürlich nicht, da ich hier fürs Forum meinen Benutzername und das Passwort ersetzt habe mit den beiden Wörtern.
Habe eben den Inhalt meines Cookies hier 1:1 kopiert, alles in eine Zeile, eben so wie hier nur eben mit dem richtigen Benutzernamen.

-.- Ich selbstverständlich auch - oder soll ich meinen Benutzernamen & PW fürs Delphiforum veröffentlichen? -.~
...die Sterne stehen nicht mehr für die Beitragszahl... nich vergessen... -.-

_________________
>+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.
DeadlyAppearance Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 113

Win 7
Delphi 2010 Arch., C# VS 2008
BeitragVerfasst: Sa 29.04.06 15:53 
KK, dann machen wir beide irgendwas falsch bei der Übergabe des Cookies. Schade das bis jetzt noch kein andere ne Idee oder Lösung hat.
Hmm, wie kommst du auf die Sterne und Beitragszahlen? Is mir eigentlich egal was da wo steht ^^.

_________________
Als du auf die Welt kamst, weintest du, und um dich herum freuten sich alle. Lebe so, daß, wenn du die Welt verläßt, alle weinen und du allein lächelst.
raziel
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2453

Arch Linux
JS (WebStorm), C#, C++/CLI, C++ (VS2013)
BeitragVerfasst: Sa 29.04.06 17:17 
Hab mal ein paar Tests durchgeführt:

ausblenden Delphi-Quelltext
1:
2:
idHTTP1.CookieManager.AddCookie('test=bla''localhost');
  Memo1.Lines.Text := idHTTP1.Get('http://localhost/cookie.php');


ausblenden cookie.php
1:
2:
3:
<?php
echo $_COOKIE['test'];
?>


Und nach dem Aufruf hatte ich "bla" im Memo stehen :arrow: Wird also übergeben. Anschließend ein Test mit einem lokal installierten phpBB, hat ebenfalls funktioniert (weglassen des Cookies sorgte für ausgeloggt sein).

Also liegt der Fehler bei euch in der Domainangabe (ohne http:// und abschließendem /), in einer fehlerhaften Eintragung der Cookie-Daten oder es werden noch mehr Cookies benötigt.

Gruß,
raziel

_________________
JSXGraph
DeadlyAppearance Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 113

Win 7
Delphi 2010 Arch., C# VS 2008
BeitragVerfasst: Sa 29.04.06 18:47 
Ich könnte schwören es ging im Beispiel hier das Forum. Dann den Slahs am Ende weggemacht, wieder hin und nun bekomme ich es einfach nimmer hin. Ohh man.

Aber wie du ja gezeigt hast, gehen tut es auf jedenfall. Nun muss sich nurnoch der Knackpunkt finden warum es z.B. hier ans Forum nicht geht.

_________________
Als du auf die Welt kamst, weintest du, und um dich herum freuten sich alle. Lebe so, daß, wenn du die Welt verläßt, alle weinen und du allein lächelst.
raziel
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2453

Arch Linux
JS (WebStorm), C#, C++/CLI, C++ (VS2013)
BeitragVerfasst: Sa 29.04.06 19:10 
AllowCookies ist aber schon noch auf true gesetzt, oder? :zwinker:

_________________
JSXGraph
DeadlyAppearance Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 113

Win 7
Delphi 2010 Arch., C# VS 2008
BeitragVerfasst: Sa 29.04.06 19:27 
user profile iconraziel hat folgendes geschrieben:
AllowCookies ist aber schon noch auf true gesetzt, oder? :zwinker:


Ja habe ich. Eben nochmal komplett alle Komponenten ausgetauscht etc. Aber es geht nicht.
Hast du es schonmal versucht hier mitm Forum? Denke is das beste Beispiel wo jeder drauf Zugriff hat. Vielleicht erklärt sich dann, warums auf anderen Seite auch nicht geht.

_________________
Als du auf die Welt kamst, weintest du, und um dich herum freuten sich alle. Lebe so, daß, wenn du die Welt verläßt, alle weinen und du allein lächelst.
raziel
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2453

Arch Linux
JS (WebStorm), C#, C++/CLI, C++ (VS2013)
BeitragVerfasst: Sa 29.04.06 19:46 
Funktioniert bei mir auch hier im Forum. Vorgehensweise:

  1. IdHTTP aufs Formular
  2. IdCookieManager aufs Formular
  3. CookieManager mit IdHTTP verbinden über Objektinspektor
  4. Memo aufs Forumlar
  5. Button aufs Formular, OnClick:
    ausblenden Delphi-Quelltext
    1:
    2:
      IdHTTP1.CookieManager.AddCookie('df_data=*snip*''www.delphi-forum.de');
      Memo1.Lines.Text := IdHTTP1.Get('http://www.delphi-forum.de');


Funktioniert wunderbar :)

_________________
JSXGraph
DeadlyAppearance Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 113

Win 7
Delphi 2010 Arch., C# VS 2008
BeitragVerfasst: So 30.04.06 02:00 
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
procedure TForm1.Button1Click(Sender: TObject);
var
  fn: TFileName;
  fs : TFileStream;
begin
  fn := 'C:\download.htm';
  fs := TFileStream.Create(fn, fmCreate);
  try
    IdHTTP1.CookieManager.AddCookie('df_data=*snip*''www.delphi-forum.de');
    IdHTTP1.Get('http://www.delphi-forum.de',fs);
  finally
    FreeAndNil(fs);
  end;
end;


Habs nun Step bei Step wie du gemacht und einmal in mein Beispiel eingefügt damit ers in ne Textdatei speichert. Jedesmal gelange ich nur auf die Loginseite. Ich verstehe es einfach nicht.
Was mache ich denn falsch?

Moderiert von user profile iconraziel: Code- durch Delphi-Tags ersetzt, Cookie-Daten entfernt.

_________________
Als du auf die Welt kamst, weintest du, und um dich herum freuten sich alle. Lebe so, daß, wenn du die Welt verläßt, alle weinen und du allein lächelst.
JayEff
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2971

Windows Vista Ultimate
D7 Enterprise
BeitragVerfasst: So 30.04.06 09:29 
Ich vermute mal, das *snip* will mit irgentwas ersetzt werden (is na nirgens username und pw aufgetaucht ;> ). mit was denn genau? also ich meine wenn ichs mit "Der Benutzername ist JayEff, sein Passwort ist xxxXXXxxx, bitte log dich jetzt ein!" ersetze, klappts nich :'(

_________________
>+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.
raziel
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2453

Arch Linux
JS (WebStorm), C#, C++/CLI, C++ (VS2013)
BeitragVerfasst: So 30.04.06 10:44 
user profile iconJayEff hat folgendes geschrieben:
Ich vermute mal, das *snip* will mit irgentwas ersetzt werden (is na nirgens username und pw aufgetaucht ;> ).

Exakt, mit Hilfe des Cookies könnte man sich ja hier einloggen und jede Menge Unsinn treiben ;) Deshalb hab ichs vorsichtshalber mal entfernt. Wo nehmt ihr dann eure Cookies her? Ich hol meines ausm Firefox, Extras -> Einstellungen -> Datenscutz -> Cookies -> Cookies Anzeigen und dann bei Inhalt markieren, kopieren und in Delphi einfügen.

_________________
JSXGraph