Fonction InternetGetCookieA (wininet.h)

Récupère le cookie pour l’URL spécifiée.

Syntaxe

BOOL InternetGetCookieA(
  [in]      LPCSTR  lpszUrl,
  [in]      LPCSTR  lpszCookieName,
  [out]     LPSTR   lpszCookieData,
  [in, out] LPDWORD lpdwSize
);

Paramètres

[in] lpszUrl

Pointeur vers une chaîne terminée par null qui spécifie l’URL pour laquelle les cookies doivent être récupérés.

[in] lpszCookieName

Non implémenté.

[out] lpszCookieData

Pointeur vers une mémoire tampon qui reçoit les données de cookie. Ce paramètre peut être NULL.

[in, out] lpdwSize

Pointeur vers une variable qui spécifie la taille de la mémoire tampon du paramètre lpszCookieData , dans les TCHAR. Si la fonction réussit, la mémoire tampon reçoit la quantité de données copiées dans la mémoire tampon lpszCookieData . Si lpszCookieData a la valeur NULL, ce paramètre reçoit une valeur qui spécifie la taille de la mémoire tampon nécessaire pour copier toutes les données de cookie, exprimées sous la forme d’un nombre d’octets.

Valeur retournée

Si la fonction réussit, la fonction retourne TRUE.

Si la fonction échoue, elle retourne FALSE. Pour obtenir des données d’erreur étendues, appelez GetLastError.

Les valeurs d’erreur suivantes s’appliquent à InternetGetCookie.

Code de retour Description
ERROR_NO_MORE_ITEMS
Il n’existe aucun cookie pour l’URL spécifiée et tous ses parents.
ERROR_INSUFFICIENT_BUFFER
La valeur transmise dans lpdwSize est insuffisante pour copier toutes les données de cookie. La valeur retournée dans lpdwSize correspond à la taille de la mémoire tampon nécessaire pour obtenir toutes les données.
ERROR_INVALID_PARAMETER
Un ou plusieurs des paramètres n’est pas valide.

Le paramètre lpszUrl a la valeur NULL.

Remarques

InternetGetCookie ne nécessite pas d’appel à InternetOpen. InternetGetCookie vérifie dans le répertoire windows\cookies les cookies persistants dont la date d’expiration est définie à l’avenir. InternetGetCookie recherche également dans la mémoire tous les cookies de session, c’est-à-dire les cookies qui n’ont pas de date d’expiration qui ont été créés dans le même processus par InternetSetCookie, car ces cookies ne sont écrits dans aucun fichier. Les règles de création de fichiers de cookies sont internes au système et peuvent changer à l’avenir.

Comme indiqué dans cookies HTTP, InternetGetCookie ne retourne pas les cookies que le serveur a marqués comme non scriptables avec l’attribut « HttpOnly » dans l’en-tête Set-Cookie.

Comme tous les autres aspects de l’API WinINet, cette fonction ne peut pas être appelée en toute sécurité à partir de DllMain ou des constructeurs et destructeurs d’objets globaux.

Note WinINet ne prend pas en charge les implémentations de serveur. En outre, il ne doit pas être utilisé à partir d’un service. Pour les implémentations de serveur ou les services, utilisez Microsoft Windows HTTP Services (WinHTTP).
 

Notes

L’en-tête wininet.h définit InternetGetCookie comme un alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. Le mélange de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.

Configuration requise

   
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête wininet.h
Bibliothèque Wininet.lib
DLL Wininet.dll

Voir aussi

HTTP Cookies

InternetGetCookieEx

InternetSetCookie

InternetSetCookieEx

Gestion des cookies

Fonctions WinINet