httpAddRequestHeadersW 函数 (wininet.h)
将一个或多个 HTTP 请求标头添加到 HTTP 请求句柄。
语法
BOOL HttpAddRequestHeadersW(
[in] HINTERNET hRequest,
[in] LPCWSTR lpszHeaders,
[in] DWORD dwHeadersLength,
[in] DWORD dwModifiers
);
参数
[in] hRequest
调用 HttpOpenRequest 函数返回的句柄。
[in] lpszHeaders
指向字符串变量的指针,其中包含要追加到请求的标头。 每个标头必须由 CR/LF (回车/换行符) 对终止。
[in] dwHeadersLength
lpszHeaders 的大小,以 TCHAR 为单位。 如果此参数为 -1L,则函数假定 lpszHeaders (ASCIIZ) 零终止,并计算长度。
[in] dwModifiers
控制此函数语义的一组修饰符。 此参数可以是以下值的组合。
返回值
如果成功,则返回 TRUE ,否则返回 FALSE 。 要获得更多的错误信息,请调用 GetLastError。
注解
HttpAddRequestHeaders 将其他自由格式的标头追加到 HTTP 请求句柄,供需要详细控制发送到 HTTP 服务器的确切请求的复杂客户端使用。
请注意,对于基本 HttpAddRequestHeaders,应用程序可以在单个缓冲区中传入多个标头。 如果应用程序尝试删除或替换标头,则 lpszHeaders 中只能提供一个标头。
注意HttpAddRequestHeadersA 函数将标头表示为 ISO-8859-1 字符,而不是 ANSI 字符。 HttpAddRequestHeadersW 函数将标头表示为转换为 UTF-16LE 字符的 ISO-8859-1 字符。 因此,当要添加的标头可以包含非 ASCII 字符时,使用 HttpAddRequestHeadersW 函数绝不是安全的。
相反,应用程序可以使用 MultiByteToWideChar 和 WideCharToMultiByte 函数,并将 Codepage 参数设置为 28591,以在 ANSI 字符和 UTF-16LE 字符之间映射。
注意 WinINet 不支持服务器实现。 此外,不应从服务使用它。 对于服务器实现或服务,请使用 Microsoft Windows HTTP Services (WinHTTP) 。
注意
wininet.h 标头将 HttpAddRequestHeaders 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非特定编码别名与非非特定编码的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。 有关详细信息,请参阅 函数原型的约定。
要求
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | wininet.h |
Library | Wininet.lib |
DLL | Wininet.dll |