API 标志

许多 WinINet 函数接受标志数组作为参数。 下面是对定义的标志的简要说明。

INTERNET_COOKIE_EVALUATE_P3P

0x80

指示将隐私保护平台 (P3P) 标头与 Cookie 相关联。

INTERNET_COOKIE_THIRD_PARTY

0x10

指示正在设置或检索第三方 Cookie。

INTERNET_FLAG_ASYNC

0x10000000

仅对从此函数返回的句柄降序的句柄发出异步请求。 只有 InternetOpen 函数使用此标志。

INTERNET_FLAG_CACHE_ASYNC

0x00000080

允许延迟缓存写入。

INTERNET_FLAG_CACHE_IF_NET_FAIL

0x00010000

如果资源的网络请求因 ERROR_INTERNET_CONNECTION_RESET或ERROR_INTERNET_CANNOT_CONNECT 错误而失败,则从缓存 中返回资源 HttpOpenRequest 使用此标志。

INTERNET_FLAG_DONT_CACHE

0x04000000

不将返回的实体添加到缓存。 这与首选值相同, INTERNET_FLAG_NO_CACHE_WRITE

INTERNET_FLAG_EXISTING_CONNECT

0x20000000

如果存在具有发出请求所需的相同属性的现有 InternetConnect 对象,则尝试使用该对象。 这仅适用于 FTP 操作,因为 FTP 是通常在同一会话期间执行多个操作的唯一协议。 WinINet 为 InternetOpen 生成的每个 HINTERNET 句柄缓存单个连接句柄。 InternetOpenUrlInternetConnect 函数将此标志用于 Http 和 Ftp 连接。

INTERNET_FLAG_FORMS_SUBMIT

0x00000040

指示这是窗体提交。

INTERNET_FLAG_FROM_CACHE

0x01000000

不发出网络请求。 所有实体都从缓存返回。 如果请求的项不在缓存中,则返回合适的错误,例如ERROR_FILE_NOT_FOUND。 只有 InternetOpen 函数使用此标志。

INTERNET_FLAG_FWD_BACK

0x00000020

指示函数应使用当前位于 Internet 缓存中的资源的副本。 不会检查过期日期和有关资源的其他信息。 如果在 Internet 缓存中找不到请求的项,系统会尝试在网络上查找资源。 此值是在 Microsoft Internet Explorer 5 中引入的,与 Internet Explorer 的 “前进 ”和“ 后退 ”按钮操作相关联。

INTERNET_FLAG_HYPERLINK

0x00000400

如果在确定是否从网络重新加载项目时,没有从服务器返回的“过期时间”和“LastModified 时间”,则强制重新加载。 FtpFindFirstFile、FtpGetFileFtpOpenFileFtpPutFileHttpOpenRequestInternetOpenUrl 可以使用此标志。

Windows XP 和 Windows Server 2003 R2 及更早版本: 也由 GopherFindFirstFileGopherOpenFile 使用。

INTERNET_FLAG_IGNORE_CERT_CN_INVALID

0x00001000

禁用根据请求中提供的主机名检查从服务器返回的基于 SSL/PCT 的证书。 WinINet 通过比较匹配的主机名和简单的通配符规则,对证书使用简单的检查。 HttpOpenRequestInternetOpenUrl (可以使用此标志) HTTP 请求。

INTERNET_FLAG_IGNORE_CERT_DATE_INVALID

0x00002000

禁用检查基于 SSL/PCT 的证书是否正确有效日期。 HttpOpenRequestInternetOpenUrl (可以使用此标志) HTTP 请求。

INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTP

0x00008000

禁用此特殊类型的重定向检测。 使用此标志时,WinINet 以透明方式允许从 HTTPS 重定向到 HTTP URL。 HttpOpenRequestInternetOpenUrl (可以使用此标志) HTTP 请求。

INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTPS

0x00004000

禁用此特殊类型的重定向检测。 使用此标志时,WinINet 以透明方式允许从 HTTP 重定向到 HTTPS URL。 HttpOpenRequestInternetOpenUrl (可以使用此标志) HTTP 请求。

INTERNET_FLAG_KEEP_CONNECTION

0x00400000

使用保持连接语义(如果可用)。 HttpOpenRequestInternetOpenUrl (使用此标志) HTTP 请求。 Microsoft 网络 (MSN) 、NTLM 和其他类型的身份验证都需要此标志。

INTERNET_FLAG_MAKE_PERSISTENT

0x02000000

不再支持。

INTERNET_FLAG_MUST_CACHE_REQUEST

0x00000010

与首选值相同, INTERNET_FLAG_NEED_FILE。 如果无法缓存文件,则会导致创建临时文件。 FtpFindFirstFile、FtpGetFileFtpOpenFileFtpPutFileHttpOpenRequestInternetOpenUrl 可以使用此标志。

Windows XP 和 Windows Server 2003 R2 及更早版本: 也由 GopherFindFirstFileGopherOpenFile 使用。

INTERNET_FLAG_NEED_FILE

0x00000010

如果无法缓存文件,则会导致创建临时文件。 FtpFindFirstFile、FtpGetFileFtpOpenFileFtpPutFileHttpOpenRequestInternetOpenUrl 可以使用此标志。

Windows XP 和 Windows Server 2003 R2 及更早版本: 也由 GopherFindFirstFileGopherOpenFile 使用。

INTERNET_FLAG_NO_AUTH

0x00040000

不会自动尝试身份验证。 HttpOpenRequestInternetOpenUrl (可以使用此标志) HTTP 请求。

INTERNET_FLAG_NO_AUTO_REDIRECT

0x00200000

不自动处理 HttpSendRequest 中的重定向。 InternetOpenUrl 也可以将此标志用于 HTTP 请求。

INTERNET_FLAG_NO_CACHE_WRITE

0x04000000

不将返回的实体添加到缓存。 此标志由 、 HttpOpenRequestInternetOpenUrl 使用

Windows XP 和 Windows Server 2003 R2 及更早版本: 也由 GopherFindFirstFileGopherOpenFile 使用。

INTERNET_FLAG_NO_COOKIES

0x00080000

不会自动将 Cookie 标头添加到请求,也不会自动将返回的 Cookie 添加到 Cookie 数据库。 HttpOpenRequestInternetOpenUrl (可以使用此标志) HTTP 请求。

INTERNET_FLAG_NO_UI

0x00000200

禁用 Cookie 对话框。 HttpOpenRequestInternetOpenUrl 只能 (HTTP 请求) 使用此标志。

INTERNET_FLAG_OFFLINE

0x01000000

INTERNET_FLAG_FROM_CACHE相同。 不发出网络请求。 所有实体都从缓存返回。 如果请求的项不在缓存中,则返回合适的错误,例如ERROR_FILE_NOT_FOUND。 只有 InternetOpen 函数使用此标志。

INTERNET_FLAG_PASSIVE

0x08000000

使用被动 FTP 语义。 只有 InternetConnectInternetOpenUrl 使用此标志。 InternetConnect 将此标志用于 FTP 请求, InternetOpenUrl 将此标志用于 FTP 文件和目录。

INTERNET_FLAG_PRAGMA_NOCACHE

0x00000100

强制源服务器解析请求,即使代理上存在缓存副本也是如此。 InternetOpenUrl 函数仅) http 和 HTTPS 请求 (,HttpOpenRequest 函数使用此标志。

INTERNET_FLAG_RAW_DATA

0x40000000

检索 FTP 目录信息时,将数据作为 WIN32_FIND_DATA 结构返回。 如果未指定此标志,或者通过 CERN 代理进行调用, InternetOpenUrl 将返回目录的 HTML 版本。 只有 InternetOpenUrl 函数使用此标志。

Windows XP 和 Windows Server 2003 R2 及更早版本: 检索 Gopher 目录信息时,还会返回 GOPHER_FIND_DATA 结构。

INTERNET_FLAG_READ_PREFETCH

0x00100000

此标志当前已禁用。

INTERNET_FLAG_RELOAD

0x80000000

强制从源服务器下载请求的文件、对象或目录列表,而不是从缓存下载。 FtpFindFirstFileFtpGetFileFtpOpenFileFtpPutFileHttpOpenRequestInternetOpenUrl 函数使用此标志。

Windows XP 和 Windows Server 2003 R2 及更早版本: 也由 GopherFindFirstFileGopherOpenFile 使用。

INTERNET_FLAG_RESTRICTED_ZONE

0x00020000

指示所设置的 Cookie 与不受信任的站点相关联。

INTERNET_FLAG_RESYNCHRONIZE

0x00000800

如果资源自上次下载以来已修改,则重新加载 HTTP 资源。 将重新加载所有 FTP 资源。 FtpFindFirstFile、FtpGetFileFtpOpenFileFtpPutFileHttpOpenRequestInternetOpenUrl 可以使用此标志。

Windows XP 和 Windows Server 2003 R2 及更早版本:GopherFindFirstFileGopherOpenFile 也使用,Gopher 资源也重新加载。

INTERNET_FLAG_SECURE

0x00800000

使用安全事务语义。 这转换为使用安全套接字层/专用通信技术 (SSL/PCT) ,并且仅在 HTTP 请求中有意义。 HttpOpenRequestInternetOpenUrl 使用此标志,但如果 URL 中出现 https://,则这是多余的。InternetConnect 函数将此标志用于 HTTP 连接;在此连接下创建的所有请求句柄都将继承此标志。

INTERNET_FLAG_TRANSFER_ASCII

0x00000001

仅将文件作为 ASCII (FTP) 传输。 FtpOpenFile、FtpGetFileFtpPutFile 可以使用此标志。

INTERNET_FLAG_TRANSFER_BINARY

0x00000002

仅) 将文件作为二进制 (FTP 传输。 FtpOpenFile、FtpGetFileFtpPutFile 可以使用此标志。

INTERNET_NO_CALLBACK

0x00000000

指示不应为该 API 进行回调。 这用于允许异步操作的函数的 dxContext 参数。

INTERNET_OPTION_SUPPRESS_SERVER_AUTH

104

设置 HTTP 请求对象,使其不会登录到源服务器,但会执行 HTTP 代理服务器的自动登录。 此选项不同于请求标志INTERNET_FLAG_NO_AUTH,后者会阻止对代理服务器和源服务器的身份验证。 设置此模式将在与源服务器通信时禁止使用任何凭据材料 (以前提供的用户名/密码或客户端 SSL 证书) 。 但是,如果请求必须通过身份验证代理传输,WinINet 仍将根据用户的 Intranet 区域设置对 HTTP 代理执行自动身份验证。 默认 Intranet 区域设置是允许使用用户默认凭据自动登录。 为了确保抑制所有标识信息,调用方应将INTERNET_OPTION_SUPPRESS_SERVER_AUTH与INTERNET_FLAG_NO_COOKIES请求标志组合在一起。 此选项只能在请求对象发送之前对其进行设置。 发送请求后尝试设置此选项将返回ERROR_INTERNET_INCORRECT_HANDLE_STATE。 此选项不需要缓冲区。 这仅由 InternetSetOption 对 HttpOpenRequest 返回的句柄使用。 版本:需要 Internet Explorer 8.0 或更高版本。

WININET_API_FLAG_ASYNC

0x00000001

强制执行异步操作。

WININET_API_FLAG_SYNC

0x00000004

强制执行同步操作。

WININET_API_FLAG_USE_CONTEXT

0x00000008

强制 API 使用上下文值,即使它设置为零也是如此。

备注

注意

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

要求

要求
最低受支持的客户端
Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器
Windows 2000 Server [仅限桌面应用]
标头
Wininet.h