AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Cookie speichern

Ein Thema von FAlter · begonnen am 13. Mai 2008 · letzter Beitrag vom 14. Mai 2008
Antwort Antwort
Benutzerbild von FAlter
FAlter

Registriert seit: 21. Jul 2004
Ort: Ostfildern
1.096 Beiträge
 
FreePascal / Lazarus
 
#1

Cookie speichern

  Alt 13. Mai 2008, 20:07
Hi,

ich möchte die Kekskrümel speichern.

Dazu habe ich mir den TIdCookieManager (Indy 10) genauer angesehen. In einer Schleife könnte ich die Cookies ja zu einer TStrings hinzufügen:

Delphi-Quellcode:
for I := 0 to Cookie.CookieCollection.Count - 1 do
  SL.Add(Cookie.CookieCollection.Items[I].CookieText);
Und später zu einem jungfräulichen CookieManager hunzufügen:

Delphi-Quellcode:
for I := SL.Count - 1 downto 0 do
  Cookie.CookieCollection.AddSrcCookie(SL[I]);
Die SL zu speichern/laden ist ja dann kein Problem mehr. Kennt jemand Eventuell eine schönere Methode? Zumal so auch noch nicht das komplette Cookie gespeichert wird (Expires usw.), da müsste ich dann noch mehr in die SL oder in ein anderes Format übernehmen (was ich notfalls auch tun werde, aber ich frage lieber nach, ob ich nicht irgendetwas übersehen habe, da ich mir schon oft die Arbeit zu schwer gemacht habe). Ein LoadFromFile/SaveToFile gibt es ja leider nicht.

Mfg
FAlter
Felix Alter
  Mit Zitat antworten Zitat
Nuclear-Ping
(Gast)

n/a Beiträge
 
#2

Re: Cookie speichern

  Alt 14. Mai 2008, 07:26
Was hast du denn vor?
  Mit Zitat antworten Zitat
Benutzerbild von FAlter
FAlter

Registriert seit: 21. Jul 2004
Ort: Ostfildern
1.096 Beiträge
 
FreePascal / Lazarus
 
#3

Re: Cookie speichern

  Alt 14. Mai 2008, 10:37
Hi,

ich möchte die Cookies speichern, um sie später wieder zu laden. Ansonsten ist spätestens nach dem Beenden des Programmes alles verloren. Sämtliche moderne* Browser speichern ja auch ihre Kekse.

Mfg
FAlter

*) Die FF-Rechtschreibprüfung schlägt "modernde" vor aber ich mein das Gegenteil.
Felix Alter
  Mit Zitat antworten Zitat
Nuclear-Ping
(Gast)

n/a Beiträge
 
#4

Re: Cookie speichern

  Alt 14. Mai 2008, 10:49
Machst du einen eigenen Browser oder was? Cookies speichern woher?
  Mit Zitat antworten Zitat
Benutzerbild von FAlter
FAlter

Registriert seit: 21. Jul 2004
Ort: Ostfildern
1.096 Beiträge
 
FreePascal / Lazarus
 
#5

Re: Cookie speichern

  Alt 14. Mai 2008, 10:57
Hi,

Irgendwie verstehe ich deine Fragen nicht. Ich möchte einfach Cookies aus dem TIdCookieManager von Indy speichern und später wieder in einen solchen laden. Damit, wenn ich beim nächsten Mal auf eine Seite zugreife, die schon einmal besucht wurde, die TIdHTTP die Cookies mitsendet. Das ist ein generelles Problem, was nichts damit zu tun hat, wie die heruntergeladenen Dokumente danach weiterverarbeitet werden. Ob es nun also ein Browser wird oder ein Spider oder sonstwas ist eigentlich egal. Aber wenn du es wirklich wissen willst: Im Moment ist es eher ein Browser.

Mfg
FAlter
Felix Alter
  Mit Zitat antworten Zitat
Benutzerbild von MSSSSM
MSSSSM

Registriert seit: 18. Apr 2008
223 Beiträge
 
Delphi 7 Professional
 
#6

Re: Cookie speichern

  Alt 14. Mai 2008, 15:03
Vllt. das onNewCookie ereignis?
naja, du musst sie ja auch noch auslesen.

ich schaue mir den mal kurz an.
Poste dann per Edit.

mfg

edit:
for!
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var
n,i: integer;
begin
n:=idcookiemanager1.CookieCollection.Count-1;
for i:=0 to n do
begin
Memo2.Lines.Add( idcookiemanager1.CookieCollection.Items[i].Domain+' ( '+ idcookiemanager1.CookieCollection.Items[i].Expires+' ) :'+idcookiemanager1.CookieCollection.Items[i].Value );
end;
end;
nur zeigt der die expires nicht an

mfg
Marius
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#7

Re: Cookie speichern

  Alt 14. Mai 2008, 16:21
Zur Not kannst du immer noch die Response-Header von TidHTTP manuell auseinanderfriemeln und so die Cookies speichern. Ich hab die RFC-Nummer grad nicht im Kopf, aber ich weiss dass es sowas gibt

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Benutzerbild von FAlter
FAlter

Registriert seit: 21. Jul 2004
Ort: Ostfildern
1.096 Beiträge
 
FreePascal / Lazarus
 
#8

Re: Cookie speichern

  Alt 14. Mai 2008, 17:24
Hi,

Zitat von MSSSSM:
nur zeigt der die expires nicht an
Wenn ich direkt auch Expires zugreife, sind sie bei mir schon drin (falls vorhanden), aber nicht in CookieText, obwohl in der Hilfe steht:

In der Indy.Sockets Hilfe steht:
CookieText can contain the in the CookieName and Value properties, as well as property values from Expires, Path, Domain, and the Secure flag.


Sollte eigentlich alles wichtige umfassen.

Zitat von alcaeus:
Zur Not kannst du immer noch die Response-Header von TidHTTP manuell auseinanderfriemeln und so die Cookies speichern.
Naja, der IdCookieManager nimmt mir ja schon jede Menge Arbeit ab. Daher möchte ich ihn am liebsten weiterhin nutzen. Notfalls kann ich das natürlich.

Laut Indy-Hilfe:
Mfg
FAlter

[edit] Irgendwie komisch, auf einmal wird Expires doch mit gespeichert, wo ich es extra nochmal manuell gespeichert habe, jetzt ist es doppelt vorhanden:

Code:
"[b]delphipraxis_data=a%3A0%3A%7B%7D; path=/; expires=Thu, 14-May-2009 15:36:16 GMT; domain=www.delphipraxis.net[/b]",,,31535982,"<Reserved... following debug data: expires>","Thu, 14-May-2009 15:36:16 GMT"
Eventuell hab ich mich geirrt und es wird in CookieText soch schon alles wichtige gespeichert (Hervorgehoben).

Mfg
FAlter

[/edit]

[edit] Nach dem erneuten Laden des Cookies, auch über Add, scheint Expires verloren zu gehen. Ich versuchs mal mit einzeln speichern. [/edit]

[edit] OK, mit Extra-Zuweisung des Expired klappt es erstmal. Es scheinen allerdings auch einige veraltete Kekse mitgespeichert zu werden. [/edit]
Felix Alter
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:35 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz