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


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

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

Синтаксис

BOOL InternetSetCookieA(
  [in] LPCSTR lpszUrl,
  [in] LPCSTR lpszCookieName,
  [in] LPCSTR lpszCookieData
);

Параметры

[in] lpszUrl

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

[in] lpszCookieName

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

[in] lpszCookieData

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

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

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

Комментарии

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

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

Внимание!InternetSetCookie безоговорочно создаст файл cookie, даже если параметр "Блокировать все файлы 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 (WinHTTP).
 

Примечание

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

Требования

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

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

Файлы cookie HTTP

InternetGetCookie

InternetGetCookieEx

InternetSetCookieEx

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

Функции WinINet