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


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

Создает файл cookie, связанный с указанным URL-адресом.

Синтаксис

BOOL InternetSetCookieW(
  [in] LPCWSTR lpszUrl,
  [in] LPCWSTR lpszCookieName,
  [in] LPCWSTR lpszCookieData
);

Параметры

[in] lpszUrl

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

[in] lpszCookieName

Указатель на строку null-terminated, указывающую имя, связанное с данными cookie. Если этот параметр null, имя файла cookie не связано.

[in] lpszCookieData

Указатель на фактические данные, связанные с URL-адресом.

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

Возвращает TRUE, если выполнено успешно или FALSE в противном случае. Чтобы получить определенное сообщение об ошибке, вызовите GetLastError.

Замечания

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

Создание нового файла cookie может привести к отображению диалогового окна на экране с просьбой пользователя разрешить или запретить файлы cookie на этом сайте на основе параметров конфиденциальности для пользователя.

осторожностьInternetSetCookie безусловно создаст файл cookie, даже если в Internet Explorer установлен параметр "Блокировать все файлы cookie". Это поведение можно рассматривать как нарушение конфиденциальности, даже если такие файлы cookie впоследствии не отправляются обратно на серверы, а параметр "Блокировать все файлы cookie" активен. Приложения должны использовать InternetSetCookieEx для правильного соблюдения параметров конфиденциальности пользователя.

Дополнительные внутренние элементы cookie см. в http://blogs.msdn.com/ieinternals/archive/2009/08/20/WinINET-IE-Cookie-Internals-FAQ.aspx.

 

Как и все остальные аспекты API WinINet, эта функция не может быть безопасно вызвана из dllMain или конструкторов и деструкторов глобальных объектов.

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

Заметка

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

Требования

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

См. также

файлы cookie HTTP

InternetGetCookie

InternetGetCookieEx

InternetSetCookieEx

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

функций WinINet