InternetGetCookieExA 函数 (wininet.h)

InternetGetCookieEx 函数检索与指定 URL 关联的 Cookie 中存储的数据。 与 InternetGetCookie不同,InternetGetCookieEx 可用于限制检索到单个 Cookie 名称的数据,或者根据策略限制与不受信任的网站或第三方 Cookie 关联的数据。

语法

BOOL InternetGetCookieExA(
  [in]                LPCSTR  lpszUrl,
  [in]                LPCSTR  lpszCookieName,
  [in, out, optional] LPSTR   lpszCookieData,
  [in, out]           LPDWORD lpdwSize,
  [in]                DWORD   dwFlags,
  [in]                LPVOID  lpReserved
);

参数

[in] lpszUrl

指向 null-terminated 字符串的指针,其中包含要检索的 Cookie 的 URL。 此参数不能 NULLinternetGetCookieEx 失败并返回 ERROR_INVALID_PARAMETER 错误。

[in] lpszCookieName

指向 null-terminated 字符串的指针,其中包含要检索的 Cookie 的名称。 此名称区分大小写。

[in, out, optional] lpszCookieData

指向用于接收 Cookie 数据的缓冲区的指针。

[in, out] lpdwSize

指向 DWORD 变量的指针。

在条目中,变量必须包含由 pchCookieData 参数指向的缓冲区的大小(以 TCHAR 为单位)。

退出时,如果函数成功,此变量将包含复制到缓冲区中的 Cookie 数据的 TCHAR 数。 如果 NULL 作为 lpszCookieData 参数传递,或者函数失败并出现 ERROR_INSUFFICIENT_BUFFER错误,则变量将包含接收 cookie 数据所需的缓冲区大小(以 BYTE 为单位)。

此参数不能 NULLinternetGetCookieEx 失败并返回 ERROR_INVALID_PARAMETER 错误。

[in] dwFlags

一个标志,用于控制函数如何检索 Cookie 数据。 此参数可以是下列值之一。

价值 意义
INTERNET_COOKIE_HTTPONLY
启用标记为“HTTPOnly”的 Cookie 的检索。

如果公开可编写脚本的接口,请不要使用此标志,因为这具有安全隐患。 仅当可以保证你永远不会通过提供的扩展性机制向第三方代码公开 Cookie 时,才必须使用此标志。

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

INTERNET_COOKIE_THIRD_PARTY
如果策略显式允许检索指定 URL 的所有 Cookie,则仅检索第三方 Cookie。
INTERNET_FLAG_RESTRICTED_ZONE
仅检索指定 URL 不受信任时允许的 Cookie;也就是说,如果它属于URLZONE_UNTRUSTED区域。

[in] lpReserved

保留以供将来使用。 设置为 NULL

返回值

如果函数成功,该函数将返回 true

如果该函数失败,则返回 FALSE。 若要获取特定的错误值,请调用 GetLastError

如果 NULL 传递给 lpszCookieData,则调用将成功,并且函数不会设置 ERROR_INSUFFICIENT_BUFFER

此函数可以设置以下错误代码。

返回代码 描述
ERROR_INSUFFICIENT_BUFFER
如果检索的 cookie 数据大于由 pcchCookieData 参数指向的缓冲区大小,或者该参数 NULL,则返回 。
ERROR_INVALID_PARAMETER
如果 pchURLpcchCookieData 参数 NULL,则返回 。
ERROR_NO_MORE_ITEMS
如果无法检索指定的 Cookied 数据,则返回。

言论

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

注意

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

要求

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

另请参阅

HTTP Cookie

InternetGetCookie

InternetSetCookie

InternetSetCookieEx

管理 Cookie

WinINet 函数