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


Функция 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-terminated, содержащую имя извлекаемого файла cookie. Это имя учитывает регистр.

[in, out, optional] lpszCookieData

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

[in, out] lpdwSize

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

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

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

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

[in] dwFlags

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

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

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

версии: требуется Internet Explorer 8.0 или более поздней версии.

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

[in] lpReserved

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

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

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

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

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

Следующие коды ошибок могут быть заданы этой функцией.

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

Замечания

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

Заметка

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

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows XP [только классические приложения]
минимальный поддерживаемый сервер Windows Server 2003 [только классические приложения]
целевая платформа Виндоус
заголовка wininet.h
библиотеки Wininet.lib
DLL Wininet.dll

См. также

файлы cookie HTTP

InternetGetCookie

InternetSetCookie

InternetSetCookieEx

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

функций WinINet