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 |
---|---|
|
Il n’existe aucun cookie pour l’URL spécifiée et tous ses parents. |
|
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. |
|
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.
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 |