Partager via


InternetGetCookieExA, fonction (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 restreindre les données récupérées à un seul nom de cookie ou, par stratégie, associée à 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 null-terminated qui contient l’URL avec laquelle le cookie à récupérer est associé. Ce paramètre ne peut pas être null ou InternetGetCookieEx échoue et retourne une erreur de ERROR_INVALID_PARAMETER.

[in] lpszCookieName

Pointeur vers une chaîne null-terminated qui contient le nom du cookie à récupérer. Ce nom respecte 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, dans les 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é passé en tant que paramètre lpszCookieData, ou si la fonction échoue avec une erreur de ERROR_INSUFFICIENT_BUFFER, la variable contient la taille, dans les BYTEs, 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 de 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 être l’une des 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 scriptable, 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 au 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 la récupération de 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 appartient à la zone URLZONE_UNTRUSTED.

[in] lpReserved

Réservé pour une utilisation ultérieure. Défini sur NULL .

Valeur de retour

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.

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

Remarques

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 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. 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 XP [applications de bureau uniquement]
serveur minimum pris en charge Windows Server 2003 [applications de bureau uniquement]
plateforme cible Windows
d’en-tête wininet.h
bibliothèque Wininet.lib
DLL Wininet.dll

Voir aussi

cookies HTTP

internetGetCookie

internetSetCookie

InternetSetCookieEx

Gestion des cookies

fonctions WinINet