Ie / jouer avec les cookies

NetCyrille Messages postés 14 Date d'inscription lundi 4 novembre 2002 Statut Membre Dernière intervention 13 juin 2003 - 27 mars 2003 à 17:47
JulioDelphi Messages postés 2226 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 18 novembre 2010 - 4 août 2004 à 23:09
Bonjour,

Est-ce que quelqu'un sait comment lire et modifier les cookies d'IE le tout en Delphi ?

Merci

Cyrille

3 réponses

cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
27 mars 2003 à 18:13
Les fonctions pour lire, écrir eles cookies sont contenues dans l'unité Wininet :
Exemple d'écriture d'un cookie pour la session courante :

procedure TForm1.btnSetCookiesClick(Sender: TObject);
var
  URL : PChar;
  CookieName, CookieData : array[0..255] of char;
begin
{function InternetSetCookie(lpszUrl, lpszCookieName,
  lpszCookieData: PAnsiChar): BOOL; stdcall;}
  URL := StrNew(PChar(Edit3.Text));
  CookieName := 'TestCookie'#0;
  CookieData := 'Vrai'#0;
  If InternetSetCookie(URL, CookieName, CookieData) then
    ShowMessageFmt('%s : %s', [CookieName, CookieData]);
  StrDispose(URL);
end;

Pour lire un cookie, où Site représente l'url du site dont on veut récupérer le cookie :
procedure TForm1.btnGetCookiesClick(Sender: TObject);
var
  S : array[0..255] of char;
  Site : PChar;
  Size : DWord;
begin
{function InternetGetCookie(lpszUrl, lpszCookieName,
  lpszCookieData: PChar; var lpdwSize: DWORD): BOOL; stdcall;}
  Site := StrNew( PChar(Edit3.Text)); //
  Size := SizeOf(S);
  FillChar(S, SizeOf(S), #32);
  if InternetGetCookie(Site, Nil, S, Size) then
    Edit1.Text:= S;

  FillChar(S, SizeOf(S), #32);
  if InternetGetCookie(Site, nil, S, Size) then
    Edit2.Text:= S;

  StrDispose(Site);
end;


Sinon, regarde sur Torry.net, il y a un freeware avec source nommé cookie detective. Il ne fait que lire et gérer la suppression des cookies, mais c'est vachement bien fait. Le tout en Delphi, of course...
May Delphi be with you
0
vickynara Messages postés 2 Date d'inscription mercredi 19 mars 2003 Statut Membre Dernière intervention 2 avril 2003
1 avril 2003 à 00:00
je voulais tout savoir sur le visual basic 6.0 . des codes, des form , jeux de game et programme
0
JulioDelphi Messages postés 2226 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 18 novembre 2010 14
4 août 2004 à 23:09
hello

j'avais justement besoin de lire un cookie... j'ai donc utilisé cette proc. mais a mon desespoir : "ça-ne-marche-pas" (c la phrase qui tue :D)
bon voila ce que j'ai fait :

posé 2 labels et un button puis sur le onclick du button :

procedure TForm1.Button1Click(Sender: TObject);
var
S : array[0..255] of char;
Site : PChar;
Size : DWord;
begin
Site := StrNew(PChar('http://www.monsiteweb.net));
Size := SizeOf(S);
FillChar(S, SizeOf(S), #32);
if InternetGetCookie(Site, 'le_nom_de_mon_cookie'#0, S, Size) then
label1.caption:= S;

FillChar(S, SizeOf(S), #32);
if InternetGetCookie(Site, 'le_nom_de_mon_cookie'#0, S, Size) then
label2.caption:= S;

StrDispose(Site);
end;

g remplacé le 'nil' par 'le_nom_de_mon_cookie' mais j'ai aussi essayé avec nil
le cookie existe et est rempli (j'ai meme testé sur mon server web avec 127.0.0.1 mais aucun resultat), les labels ne sont pas vide mais ils restent sur "label1" et "label2"... donc la fonction return tjrs FALSE...

ou m'ai je trompé ? merci
0
Rejoignez-nous