Fonction InternetGetCookieExA (wininet.h)

La fonction InternetGetCookieEx récupère les données stockées dans les cookies associés à une URL spécifiée. Contrairement à InternetGetCookie, InternetGetCookieEx peut être utilisé pour limiter les données récupérées à un nom de cookie unique ou, par stratégie, associées à des sites non approuvés ou à des cookies tiers.

Syntaxe

BOOL InternetGetCookieExA(
  [in]                LPCSTR  lpszUrl,
  [in]                LPCSTR  lpszCookieName,
  [in, out, optional] LPSTR   lpszCookieData,
  [in, out]           LPDWORD lpdwSize,
  [in]                DWORD   dwFlags,
  [in]                LPVOID  lpReserved
);

Paramètres

[in] lpszUrl

Pointeur vers une chaîne terminée par null qui contient l’URL à laquelle le cookie à récupérer est associé. Ce paramètre ne peut pas être NULL ou InternetGetCookieEx échoue et retourne une erreur ERROR_INVALID_PARAMETER .

[in] lpszCookieName

Pointeur vers une chaîne terminée par null qui contient le nom du cookie à récupérer. Le nom tient compte de la casse.

[in, out, optional] lpszCookieData

Pointeur vers une mémoire tampon pour recevoir les données de cookie.

[in, out] lpdwSize

Pointeur vers une variable DWORD.

Lors de l’entrée, la variable doit contenir la taille, en TCHAR, de la mémoire tampon pointée par le paramètre pchCookieData .

À la sortie, si la fonction réussit, cette variable contient le nombre de TCHAR de données de cookie copiées dans la mémoire tampon. Si NULL a été transmis en tant que paramètre lpszCookieData , ou si la fonction échoue avec une erreur de ERROR_INSUFFICIENT_BUFFER, la variable contient la taille, en BYTE, de la mémoire tampon requise pour recevoir les données de cookie.

Ce paramètre ne peut pas être NULL ou InternetGetCookieEx échoue et retourne une erreur ERROR_INVALID_PARAMETER .

[in] dwFlags

Indicateur qui contrôle la façon dont la fonction récupère les données de cookie. Ce paramètre peut prendre les valeurs suivantes.

Valeur Signification
INTERNET_COOKIE_HTTPONLY
Active la récupération des cookies marqués comme « HTTPOnly ».

N’utilisez pas cet indicateur si vous exposez une interface pouvant faire l’objet d’un script, car cela a des implications en matière de sécurité. Il est impératif que vous utilisiez cet indicateur uniquement si vous pouvez garantir que vous n’exposerez jamais le cookie à du code tiers par le biais d’un mécanisme d’extensibilité que vous fournissez.

Version: Nécessite Internet Explorer 8.0 ou version ultérieure.

INTERNET_COOKIE_THIRD_PARTY
Récupère uniquement les cookies tiers si la stratégie autorise explicitement tous les cookies pour l’URL spécifiée.
INTERNET_FLAG_RESTRICTED_ZONE
Récupère uniquement les cookies qui seraient autorisés si l’URL spécifiée n’était pas approuvée ; autrement dit, s’il appartenait à la zone URLZONE_UNTRUSTED.

[in] lpReserved

Réservé pour un usage futur. Défini sur NULL.

Valeur retournée

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

Si la fonction échoue, elle retourne FALSE. Pour obtenir une valeur d’erreur spécifique, appelez GetLastError.

Si NULL est passé à lpszCookieData, l’appel réussit et la fonction ne définit pas ERROR_INSUFFICIENT_BUFFER.

Les codes d’erreur suivants peuvent être définis par cette fonction.

Code de retour Description
ERROR_INSUFFICIENT_BUFFER
Retourné si les données de cookie récupérées sont supérieures à la taille de mémoire tampon pointée par le paramètre pcchCookieData ou si ce paramètre a la valeur NULL.
ERROR_INVALID_PARAMETER
Retourné si le paramètre pchURL ou pcchCookieData a la valeur NULL.
ERROR_NO_MORE_ITEMS
Retourné si aucune donnée cookie spécifiée n’a pu être récupérée.

Remarques

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 InternetGetCookieEx 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. La combinaison 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

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

Voir aussi

HTTP Cookies

InternetGetCookie

InternetSetCookie

InternetSetCookieEx

Gestion des cookies

Fonctions WinINet