InternetSetCookieExA 函数 (wininet.h)

InternetSetCookieEx 函数创建具有与指定 URL 关联的指定名称的 Cookie。 此函数不同于 InternetSetCookie 函数,因为能够创建第三方 Cookie。

语法

DWORD InternetSetCookieExA(
  [in] LPCSTR    lpszUrl,
  [in] LPCSTR    lpszCookieName,
  [in] LPCSTR    lpszCookieData,
  [in] DWORD     dwFlags,
  [in] DWORD_PTR dwReserved
);

参数

[in] lpszUrl

指向 null-terminated 字符串的指针,其中包含应为其设置 Cookie 的 URL。

如果此指针 NULLInternetSetCookieEx 失败,并出现 ERROR_INVALID_PARAMETER 错误。

[in] lpszCookieName

指向 null-terminated 字符串的指针,该字符串包含要与此 Cookie 关联的名称。 如果此指针 NULL,则不会与 Cookie 关联任何名称。

[in] lpszCookieData

指向 null-terminated 字符串的指针,其中包含要与新 Cookie 关联的数据。

如果此指针 NULLInternetSetCookieEx 失败,并出现 ERROR_INVALID_PARAMETER 错误。

[in] dwFlags

用于控制函数如何检索 Cookie 数据的标志:

价值 意义
INTERNET_COOKIE_EVALUATE_P3P
如果设置了此标志,并且 dwReserved 参数未 NULL,则 dwReserved 参数将转换为指向相关 Cookie 的 platform-for-Privacy-Protection (P3P) 标头的 LCOOKIESTR
INTERNET_COOKIE_HTTPONLY
启用标记为“HTTPOnly”的 Cookie 的检索。

如果公开可编写脚本的接口,请不要使用此标志,因为这具有安全隐患。 如果公开可编写脚本的接口,则可以成为跨站点脚本攻击的攻击途径。 仅当第三方代码保证你绝不允许第三方代码通过提供的扩展机制来设置 Cookie 时,才必须使用此标志。

版本:需要 Internet Explorer 8.0 或更高版本。

INTERNET_COOKIE_THIRD_PARTY
指示要设置的 Cookie 是第三方 Cookie。
INTERNET_FLAG_RESTRICTED_ZONE
指示所设置的 Cookie 与不受信任的站点相关联。

[in] dwReserved

NULL,或包含指向要与 Cookie 关联的平台 for-for-Privacy-Protection (P3P) 标头的指针。

返回值

如果成功,则返回 InternetCookieState 枚举的成员;如果函数失败,FALSE。 失败时,如果调用 GetLastError 返回ERROR_NOT_ENOUGH_MEMORY,则系统内存不足。

言论

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

注意

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

要求

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

另请参阅

HTTP Cookie

InternetGetCookie

InternetGetCookieEx

InternetSetCookie

管理 Cookie

WinINet 函数