Функция InternetGetCookieA (wininet.h)
Извлекает файл cookie для указанного URL-адреса.
Синтаксис
BOOL InternetGetCookieA(
[in] LPCSTR lpszUrl,
[in] LPCSTR lpszCookieName,
[out] LPSTR lpszCookieData,
[in, out] LPDWORD lpdwSize
);
Параметры
[in] lpszUrl
Указатель на строку null-terminated, указывающую URL-адрес, для которого извлекаются файлы cookie.
[in] lpszCookieName
Не реализовано.
[out] lpszCookieData
Указатель на буфер, получающий данные cookie. Этот параметр может быть NULL.
[in, out] lpdwSize
Указатель на переменную, указывающую размер буфера параметров lpszCookieData в TCHARs. Если функция выполнена успешно, буфер получает объем данных, скопированных в буфер lpszCookieData. Если lpszCookieDataNULL, этот параметр получает значение, указывающее размер буфера, необходимого для копирования всех данных cookie, выраженных как число байтов.
Возвращаемое значение
Если функция выполнена успешно, функция возвращает TRUE.
Если функция завершается ошибкой, она возвращает FALSE. Чтобы получить расширенные данные об ошибках, вызовите GetLastError.
Следующие значения ошибок применяются к InternetGetCookie.
Возвращаемый код | Описание |
---|---|
|
Файл cookie для указанного URL-адреса и всех его родителей отсутствует. |
|
Значение, переданное в lpdwSize, недостаточно для копирования всех данных cookie. Значение, возвращаемое в lpdwSize, — это размер буфера, необходимого для получения всех данных. |
|
Один или несколько параметров недопустимы.
Параметр lpszUrlNULL. |
Замечания
InternetGetCookie не требует вызова InternetOpen. InternetGetCookie проверки в каталоге windows\cookies для постоянных файлов cookie, которые имеют дату окончания срока действия, установленную в будущем. InternetGetCookie также выполняет поиск памяти для файлов cookie сеанса, то есть файлов cookie, которые не имеют даты окончания срока действия, созданных в том же процессе InternetSetCookie, так как эти файлы cookie не записываются в файлы. Правила создания файлов cookie являются внутренними в системе и могут измениться в будущем.
Как отмечалось в HTTP Cookie, InternetGetCookie не возвращает файлы cookie, которые сервер помечает как некриптируемые с атрибутом HttpOnly в заголовке Set-Cookie.
Как и все остальные аспекты API WinINet, эта функция не может быть безопасно вызвана из dllMain или конструкторов и деструкторов глобальных объектов.
Заметка
Заголовок wininet.h определяет InternetGetCookie как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows 2000 Профессиональный [только классические приложения] |
минимальный поддерживаемый сервер | Windows 2000 Server [только классические приложения] |
целевая платформа | Виндоус |
заголовка | wininet.h |
библиотеки |
Wininet.lib |
DLL | Wininet.dll |
См. также
управление файлами cookie
функций WinINet