HttpSendRequestA 函数 (wininet.h)
将指定的请求发送到 HTTP 服务器,允许调用方发送超出通常传递给 HttpSendRequestEx的额外数据。
语法
BOOL HttpSendRequestA(
[in] HINTERNET hRequest,
[in] LPCSTR lpszHeaders,
[in] DWORD dwHeadersLength,
[in] LPVOID lpOptional,
[in] DWORD dwOptionalLength
);
参数
[in] hRequest
调用 HttpOpenRequest 函数返回的句柄。
[in] lpszHeaders
指向 null-terminated 字符串的指针,其中包含要追加到请求的其他标头。 如果没有附加标头,则可以 NULL 此参数。
[in] dwHeadersLength
其他标头的大小,TCHAR。 如果此参数 -1L,并且 lpszHeaders 不 NULL,则该函数假定 lpszHeaders 为零终止 (ASCIIZ),并计算长度。 请参阅“说明”了解具体内容。
[in] lpOptional
指向缓冲区的指针,其中包含请求标头之后要立即发送的任何可选数据。 此参数通常用于 POST 和 PUT 操作。 可选数据可以是要发布到服务器的资源或信息。 如果没有要发送的可选数据,则可以 NULL 此参数。
[in] dwOptionalLength
可选数据的大小(以字节为单位)。 如果没有要发送的可选数据,此参数可以为零。
返回值
如果成功,则返回 TRUE;否则返回 FALSE。 若要获取扩展的错误信息,请调用 GetLastError。
言论
HttpSendRequest 将指定的请求发送到 HTTP 服务器,并允许客户端指定要随请求一起发送的其他标头。
该函数还允许客户端指定可选数据,以便紧跟在请求标头之后发送到 HTTP 服务器。 此功能通常用于“写入”操作,例如 PUT 和 POST。
发送请求后,将读取来自 HTTP 服务器的状态代码和响应标头。 这些标头在内部维护,可通过 HttpQueryInfo 函数向客户端应用程序提供。
应用程序可以在多个调用中使用相同的 HTTP 请求句柄来 HttpSendRequest,但应用程序必须在再次调用函数之前读取从上一次调用返回的所有数据。
在脱机模式下,如果 Internet 缓存中找不到资源,HttpSendRequest 将返回 ERROR_FILE_NOT_FOUND。
有两个版本的 HttpSendRequest-HttpSendRequestA(与 ANSI 版本一起使用)和 HttpSendRequestW(与 Unicode 版本一起使用)。 如果 dwHeadersLength 为 -1L,并且 lpszHeaders 不 NULL,则会发生以下情况:如果调用 HttpSendRequestA,则该函数假定 lpszHeaders 为零终止(ASCIIZ),并且计算长度。 如果调用 HttpSendRequestW,该函数将失败并 ERROR_INVALID_PARAMETER。
注意
wininet.h 标头将 HttpSendRequest 定义为一个别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将中性编码别名与不中性编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
支持的最低服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | 窗户 |
标头 | wininet.h |
库 | Wininet.lib |
DLL | Wininet.dll |