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