InternetSetCookieExW 函数 (wininet.h)

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

语法

DWORD InternetSetCookieExW(
  [in] LPCWSTR   lpszUrl,
  [in] LPCWSTR   lpszCookieName,
  [in] LPCWSTR   lpszCookieData,
  [in] DWORD     dwFlags,
  [in] DWORD_PTR dwReserved
);

参数

[in] lpszUrl

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

如果此指针为 NULL,InternetSetCookieEx 将失败并出现ERROR_INVALID_PARAMETER错误。

[in] lpszCookieName

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

[in] lpszCookieData

指向以 null 结尾的字符串的指针,该字符串包含要与新 Cookie 关联的数据。

如果此指针为 NULL,InternetSetCookieEx 将失败并出现ERROR_INVALID_PARAMETER错误。

[in] dwFlags

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

含义
INTERNET_COOKIE_EVALUATE_P3P
如果设置了此标志并且 dwReserved 参数不是 NULL,则 dwReserved 参数将强制转换为指向平台 for-Privacy-Protection (P3P) 头的 LPCTSTR
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 关联的 Platform-for-Privacy-Protection (P3P) 标头的指针。

返回值

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

注解

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

注意

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

要求

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

另请参阅

HTTP Cookie

InternetGetCookie

InternetGetCookieEx

InternetSetCookie

管理 Cookie

WinINet 函数