InternetSetCookieA 函数 (wininet.h)

创建与指定 URL 关联的 Cookie。

语法

BOOL InternetSetCookieA(
  [in] LPCSTR lpszUrl,
  [in] LPCSTR lpszCookieName,
  [in] LPCSTR 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。

注意 即使 Internet Explorer 中设置了“阻止所有 Cookie”,InternetSetCookie 也会无条件地创建 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 函数