internetSetCookieW 函数 (wininet.h)

创建与指定 URL 关联的 Cookie。

语法

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

参数

[in] lpszUrl

指向以 null 结尾的字符串的指针,该字符串指定应为其设置 Cookie 的 URL。

[in] lpszCookieName

指向以 null 结尾的字符串的指针,该字符串指定要与 Cookie 数据关联的名称。 如果此参数为 NULL,则没有与 Cookie 关联的名称。

[in] lpszCookieData

指向要与 URL 关联的实际数据的指针。

返回值

如果成功,则返回 TRUE ,否则返回 FALSE 。 若要获取特定错误消息,请调用 GetLastError

注解

InternetSetCookie 创建的没有到期日期的 Cookie 存储在内存中,并且仅在创建它们的同一进程中可用。 包含到期日期的 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

 

与 WinINet API 的所有其他方面一样,无法从 DllMain 或全局对象的构造函数和析构函数中安全地调用此函数。

注意 WinINet 不支持服务器实现。 此外,不应从服务使用它。 对于服务器实现或服务,请使用 Microsoft Windows HTTP Services (WinHTTP)
 

注意

wininet.h 标头将 InternetSetCookie 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非特定编码别名与非非特定编码的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。 有关详细信息,请参阅 函数原型的约定

要求

   
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 wininet.h
Library Wininet.lib
DLL Wininet.dll

另请参阅

HTTP Cookie

InternetGetCookie

InternetGetCookieEx

InternetSetCookieEx

管理 Cookie

WinINet 函数