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


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

Функция InternetSetCookieEx создает файл cookie с указанным именем, связанным с указанным URL-адресом. Эта функция отличается от функции InternetSetCookie тем, что она может создавать сторонние файлы cookie.

Синтаксис

DWORD InternetSetCookieExA(
  [in] LPCSTR    lpszUrl,
  [in] LPCSTR    lpszCookieName,
  [in] LPCSTR    lpszCookieData,
  [in] DWORD     dwFlags,
  [in] DWORD_PTR dwReserved
);

Параметры

[in] lpszUrl

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

Если этот указатель имеет значение NULL, InternetSetCookieEx завершается ошибкой ERROR_INVALID_PARAMETER .

[in] lpszCookieName

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

[in] lpszCookieData

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

Если этот указатель имеет значение NULL, InternetSetCookieEx завершается ошибкой ERROR_INVALID_PARAMETER .

[in] dwFlags

Флаги, управляющие тем, как функция извлекает данные файлов cookie:

Значение Значение
INTERNET_COOKIE_EVALUATE_P3P
Если этот флаг установлен и параметр dwReserved не равен NULL, то параметр dwReserved приводится к LPCTSTR , который указывает на заголовок Platform-for-Privacy-Protection (P3P) для файла cookie.
INTERNET_COOKIE_HTTPONLY
Включает получение файлов cookie, помеченных как "HTTPOnly".

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

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

INTERNET_COOKIE_THIRD_PARTY
Указывает, что устанавливаемый файл cookie является файлом cookie стороннего производителя.
INTERNET_FLAG_RESTRICTED_ZONE
Указывает, что заданный файл cookie связан с ненадежным сайтом.

[in] dwReserved

Значение NULL или содержит указатель на заголовок P3P, связанный с файлом cookie.

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

Возвращает элемент перечисления InternetCookieState в случае успешного выполнения или FALSE в случае сбоя функции. При сбое, если вызов GetLastError возвращает ERROR_NOT_ENOUGH_MEMORY, было недостаточно системной памяти.

Комментарии

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

Примечание

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

Требования

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

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

Файлы cookie HTTP

InternetGetCookie

InternetGetCookieEx

InternetSetCookie

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

Функции WinINet