Condividi tramite


Funzione InternetGetCookieW (wininet.h)

Recupera il cookie per l'URL specificato.

Sintassi

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

Parametri

[in] lpszUrl

Puntatore a una stringa con terminazione Null che specifica l'URL per cui recuperare i cookie.

[in] lpszCookieName

Non implementato.

[out] lpszCookieData

Puntatore a un buffer che riceve i dati del cookie. Questo parametro può essere NULL.

[in, out] lpdwSize

Puntatore a una variabile che specifica le dimensioni del buffer dei parametri lpszCookieData , in TCHAR. Se la funzione ha esito positivo, il buffer riceve la quantità di dati copiati nel buffer lpszCookieData . Se lpszCookieData è NULL, questo parametro riceve un valore che specifica le dimensioni del buffer necessarie per copiare tutti i dati del cookie, espressi come conteggio di byte.

Valore restituito

Se la funzione ha esito positivo, la funzione restituisce TRUE.

Se la funzione ha esito negativo, restituisce FALSE. Per ottenere dati di errore estesi, chiamare GetLastError.

I valori di errore seguenti si applicano a InternetGetCookie.

Codice restituito Descrizione
ERROR_NO_MORE_ITEMS
Non esiste alcun cookie per l'URL specificato e tutti i relativi elementi padre.
ERROR_INSUFFICIENT_BUFFER
Il valore passato in lpdwSize non è sufficiente per copiare tutti i dati del cookie. Il valore restituito in lpdwSize è la dimensione del buffer necessaria per ottenere tutti i dati.
ERROR_INVALID_PARAMETER
Uno o più parametri non sono validi.

Il parametro lpszUrl è NULL.

Commenti

InternetGetCookie non richiede una chiamata a InternetOpen. InternetGetCookie controlla nella directory windows\cookies i cookie persistenti con una data di scadenza impostata in futuro. InternetGetCookie cerca anche memoria per tutti i cookie di sessione, ovvero i cookie che non hanno una data di scadenza creata nello stesso processo da InternetSetCookie, perché questi cookie non vengono scritti in alcun file. Le regole per la creazione di file di cookie sono interne al sistema e possono cambiare in futuro.

Come indicato in Cookie HTTP, InternetGetCookie non restituisce cookie contrassegnati come non scriptable con l'attributo "HttpOnly" nell'intestazione Set-Cookie.

Come tutti gli altri aspetti dell'API WinINet, questa funzione non può essere chiamata in modo sicuro da DllMain o dai costruttori e distruttori di oggetti globali.

Nota WinINet non supporta le implementazioni del server. Inoltre, non deve essere usato da un servizio. Per le implementazioni del server o i servizi, usare i servizi HTTP di Microsoft Windows (WinHTTP).
 

Nota

L'intestazione wininet.h definisce InternetGetCookie come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice che non è indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzioni.

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione wininet.h
Libreria Wininet.lib
DLL Wininet.dll

Vedi anche

Cookie HTTP

InternetGetCookieEx

InternetSetCookie

InternetSetCookieEx

Gestione dei cookie

Funzioni WinINet