Partager via


InternetGetCookieW, fonction (wininet.h)

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

Syntaxe

BOOL InternetGetCookieW(
  [in]      LPCWSTR lpszUrl,
  [in]      LPCWSTR lpszCookieName,
  [out]     LPWSTR  lpszCookieData,
  [in, out] LPDWORD lpdwSize
);

Paramètres

[in] lpszUrl

Pointeur vers une chaîne null-terminated 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 de paramètres 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 est 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 de retour

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.

Retourner le code 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 passée dans lpdwSize est insuffisante pour copier toutes les données de cookie. La valeur retournée dans lpdwSize est la taille de la mémoire tampon nécessaire pour obtenir toutes les données.
ERROR_INVALID_PARAMETER
Un ou plusieurs des paramètres ne sont pas valides.

Le paramètre lpszUrl est 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 la mémoire des cookies de session, autrement dit, 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 pas écrits dans des fichiers. Les règles de création de fichiers de cookie sont internes au système et peuvent changer à l’avenir.

Comme indiqué dans cookies HTTP, InternetGetCookie ne retourne pas de cookies que le serveur a marqué comme non scriptable 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.

Remarque 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).
 

Note

L’en-tête wininet.h définit InternetGetCookie comme 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.

Exigences

Exigence Valeur
client minimum pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
serveur minimum pris en charge Windows 2000 Server [applications de bureau uniquement]
plateforme cible Windows
d’en-tête wininet.h
bibliothèque Wininet.lib
DLL Wininet.dll

Voir aussi

cookies HTTP

InternetGetCookieEx

internetSetCookie

InternetSetCookieEx

Gestion des cookies

fonctions WinINet