InternetSetCookieW 函数 (wininet.h)

创建与指定 URL 关联的 Cookie。

语法

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

参数

[in] lpszUrl

指向 null-terminated 字符串的指针,该字符串指定应为其设置 Cookie 的 URL。

[in] lpszCookieName

指向 null-terminated 字符串的指针,该字符串指定要与 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 服务(WinHTTP)
 

注意

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

要求

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

另请参阅

HTTP Cookie

InternetGetCookie

InternetGetCookieEx

InternetSetCookieEx

管理 Cookie

WinINet 函数