Поделиться через


Функция InternetGetCookieExA (wininet.h)

Функция InternetGetCookieEx извлекает данные, хранящиеся в файлах cookie, связанных с указанным URL-адресом. В отличие от InternetGetCookie, InternetGetCookieEx можно использовать для ограничения данных, извлекаемых одним именем файла cookie или политикой, связанных с ненадежными сайтами или сторонними файлами cookie.

Синтаксис

BOOL InternetGetCookieExA(
  [in]                LPCSTR  lpszUrl,
  [in]                LPCSTR  lpszCookieName,
  [in, out, optional] LPSTR   lpszCookieData,
  [in, out]           LPDWORD lpdwSize,
  [in]                DWORD   dwFlags,
  [in]                LPVOID  lpReserved
);

Параметры

[in] lpszUrl

Указатель на строку, завершающуюся значением NULL, которая содержит URL-адрес, с которым связан извлекаемого файла cookie. Этот параметр не может иметь значение NULL или InternetGetCookieEx завершается ошибкой ERROR_INVALID_PARAMETER .

[in] lpszCookieName

Указатель на строку, завершающуюся значением NULL, которая содержит имя извлекаемого файла cookie. Это имя учитывает регистр.

[in, out, optional] lpszCookieData

Указатель на буфер для получения данных cookie.

[in, out] lpdwSize

Указатель на переменную DWORD.

При входе переменная должна содержать размер буфера в TCHAR, на который указывает параметр pchCookieData .

Если функция успешно завершена, эта переменная содержит количество TCHAR данных файлов cookie, скопированных в буфер. Если значение NULL было передано в качестве параметра lpszCookieData или если функция завершается сбоем с ошибкой ERROR_INSUFFICIENT_BUFFER, переменная содержит размер буфера, необходимого для получения данных cookie, в БАЙТах.

Этот параметр не может иметь значение NULL или InternetGetCookieEx завершается ошибкой ERROR_INVALID_PARAMETER .

[in] dwFlags

Флаг, который определяет, как функция получает данные файлов cookie. Этот параметр может принимать одно из указанных ниже значений.

Значение Значение
INTERNET_COOKIE_HTTPONLY
Включает получение файлов cookie, помеченных как "HTTPOnly".

Не используйте этот флаг, если вы предоставляете интерфейс с поддержкой сценариев, так как это влияет на безопасность. Этот флаг необходимо использовать только в том случае, если вы можете гарантировать, что вы никогда не будете предоставлять файл cookie для стороннего кода с помощью предоставленного вами механизма расширяемости.

Версия: Требуется Internet Обозреватель 8.0 или более поздней версии.

INTERNET_COOKIE_THIRD_PARTY
Извлекает только сторонние файлы cookie, если политика явно разрешает извлечение всех файлов cookie для указанного URL-адреса.
INTERNET_FLAG_RESTRICTED_ZONE
Извлекает только файлы cookie, которые будут разрешены, если указанный URL-адрес не является доверенным; то есть, если он принадлежит URLZONE_UNTRUSTED зоне.

[in] lpReserved

Зарезервировано для последующего использования. Задайте значение NULL.

Возвращаемое значение

Если функция выполнена успешно, функция возвращает значение TRUE.

Если функция завершается сбоем, она возвращает значение FALSE. Чтобы получить определенное значение ошибки, вызовите Метод GetLastError.

Если в lpszCookieDataпередано значение NULL, вызов будет выполнен успешно, а функция не задаст ERROR_INSUFFICIENT_BUFFER.

Эта функция может задать следующие коды ошибок.

Код возврата Описание
ERROR_INSUFFICIENT_BUFFER
Возвращается, если полученные данные файла cookie больше размера буфера, указанного параметром pcchCookieData , или если этот параметр имеет значение NULL.
ERROR_INVALID_PARAMETER
Возвращается, если параметр pchURL или pcchCookieData имеет значение NULL.
ERROR_NO_MORE_ITEMS
Возвращается, если не удалось получить данные из файла cookie, как указано.

Комментарии

Примечание WinINet не поддерживает реализации сервера. Кроме того, его не следует использовать из службы. Для серверных реализаций или служб используйте службы Microsoft Windows HTTP (WinHTTP).
 

Примечание

Заголовок wininet.h определяет InternetGetCookieEx как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора UNICODE. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.

Требования

Требование Значение
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header wininet.h
Библиотека Wininet.lib
DLL Wininet.dll

См. также раздел

Файлы cookie HTTP

InternetGetCookie

InternetSetCookie

InternetSetCookieEx

Управление файлами cookie

Функции WinINet