Compartir a través de


Función InternetGetCookieA (wininet.h)

Recupera la cookie de la dirección URL especificada.

Sintaxis

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

Parámetros

[in] lpszUrl

Puntero a un cadena terminada en nullque especifica la dirección URL para la que se van a recuperar las cookies.

[in] lpszCookieName

No implementado.

[out] lpszCookieData

Puntero a un búfer que recibe los datos de la cookie. Este parámetro puede ser null.

[in, out] lpdwSize

Puntero a una variable que especifica el tamaño del lpszCookieData búfer de parámetros, en TCHAR. Si la función se ejecuta correctamente, el búfer recibe la cantidad de datos copiados en el búfer de lpszCookieData. Si lpszCookieData es NULL, este parámetro recibe un valor que especifica el tamaño del búfer necesario para copiar todos los datos de cookies, expresados como recuento de bytes.

Valor devuelto

Si la función se ejecuta correctamente, la función devuelve TRUE.

Si se produce un error en la función, devuelve FALSE. Para obtener datos de error extendidos, llame a GetLastError.

Los siguientes valores de error se aplican a InternetGetCookie.

Código devuelto Descripción
ERROR_NO_MORE_ITEMS
No hay ninguna cookie para la dirección URL especificada y todos sus elementos primarios.
ERROR_INSUFFICIENT_BUFFER
El valor pasado en lpdwSize no es suficiente para copiar todos los datos de cookies. El valor devuelto en lpdwSize es el tamaño del búfer necesario para obtener todos los datos.
ERROR_INVALID_PARAMETER
Uno o varios de los parámetros no son válidos.

El parámetro lpszUrl es NULL.

Observaciones

InternetGetCookie no requiere una llamada a InternetOpen. InternetGetCookie comprueba en el directorio windows\cookies las cookies persistentes que tienen una fecha de expiración establecida en algún momento en el futuro. InternetGetCookie también busca memoria para las cookies de sesión, es decir, las cookies que no tienen una fecha de expiración que se crearon en el mismo proceso InternetSetCookie, porque estas cookies no se escriben en ningún archivo. Las reglas para crear archivos de cookies son internas para el sistema y pueden cambiar en el futuro.

Como se indica en cookies HTTP, internetGetCookie no devuelve cookies que el servidor marcado como no con script con el atributo "HttpOnly" en el encabezado Set-Cookie.

Al igual que todos los demás aspectos de la API de WinINet, esta función no se puede llamar de forma segura desde DllMain ni desde los constructores y destructores de objetos globales.

Nota WinINet no admite implementaciones de servidor. Además, no se debe usar desde un servicio. En el caso de las implementaciones de servidor o los servicios, use Servicios HTTP de Microsoft Windows (WinHTTP).
 

Nota

El encabezado wininet.h define InternetGetCookie como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Conventions for Function Prototypes.

Requisitos

Requisito Valor
cliente mínimo admitido Windows 2000 Professional [solo aplicaciones de escritorio]
servidor mínimo admitido Windows 2000 Server [solo aplicaciones de escritorio]
de la plataforma de destino de Windows
encabezado de wininet.h
biblioteca de Wininet.lib
DLL de Wininet.dll

Consulte también

cookies HTTP

InternetGetCookieEx

InternetSetCookie

InternetSetCookieEx

administración de cookies

funciones winINet