WinHttp.WinHttpRequest.5.1中文实战指南:事件、方法与属性详解

需积分: 46 1 下载量 79 浏览量 更新于2024-09-09 收藏 64KB DOC 举报
WinHttp.WinHttpRequest.5.1中文参考手册是一份详细指南,专为Windows平台上的网络编程提供支持,特别是通过WinHTTP API进行HTTP通信。这份文档深入解析了WinHTTP库中关键类和方法,帮助开发者更好地理解和利用WinHTTP 5.1版本的功能。 1. **事件处理**: - **错误事件** (`OnError`):当应用程序在运行过程中遇到WinHTTP请求中的任何错误时触发,用于捕获并处理可能出现的异常情况。 - **响应数据可用事件** (`OnResponseDataAvailable`):在接收到服务器部分响应数据时,会通知应用程序,允许其实时处理接收到的数据。 - **响应完成事件** (`OnResponseFinished`):当HTTP请求的响应完全接收完毕时触发,可用于处理完整的响应结果。 2. **核心方法**: - **终止/放弃请求** (`Abort`):可以停止当前的HTTP请求过程。 - **打开连接** (`Open`):用于初始化HTTP连接,包括指定HTTP方法(如GET、POST)、URL、可能的头部信息等。 - **发送请求** (`Send`):将已配置的请求发送到服务器。 - **获取响应头** (`GetResponseHeader`/`GetAllResponseHeaders`):用于检索HTTP响应的头部信息,如状态码、内容类型等。 - **设置请求头** (`SetRequestHeader`):控制HTTP请求的头部字段,例如设置用户代理、认证信息等。 3. **安全与身份管理**: - **自动登录策略** (`SetAutoLogonPolicy`):管理自动登录行为,适用于需要凭据的HTTP请求。 - **设置客户端证书** (`SetClientCertificate`):在HTTPS通信中,用于选择发送给服务器的客户端证书。 - **设置证书/凭证** (`SetCredentials`):设置用于HTTP请求的用户名和密码,或者证书信息。 4. **代理设置**: - `SetProxy`:允许开发者配置应用程序使用的HTTP代理服务器的地址和参数。 5. **超时控制**: - `SetTimeouts`:设置发送和接收数据的超时时间,以防止长时间阻塞。 6. **异步操作**: - `WaitForResponse`:用于异步HTTP请求的同步等待,允许设置等待时间和超时值。 7. **响应数据访问**: - **响应主体** (`ResponseBody`) 和 **响应流** (`ResponseStream`):提供了两种方式来访问接收到的HTTP响应数据,前者是以无符号字节数组的形式,后者作为输入流对象,方便进行进一步的处理。 WinHttp.WinHttpRequest.5.1中文参考手册详细介绍了如何在Windows平台上利用WinHTTP API进行高效、安全的HTTP通信,包括事件驱动的错误处理、灵活的请求配置、安全机制以及对响应数据的不同访问方式,为开发人员提供了一套强大的工具。理解并掌握这些内容,能够显著提升Windows应用的网络通信功能和性能。
2018-04-15 上传
WinHTTP提供以下功能: WinHttpAddRequestHeaders 向HTTP请求句柄添加一个或多个HTTP请求标头。 WinHttpCheckPlatform 确定WinHTTP是否支持当前平台。 WinHttpCloseHandle 关闭单个 HINTERNET句柄。 WinHttpConnect 指定HTTP请求的初始目标服务器。 WinHttpCrackUrl 将URL分为其组成部分,例如主机名和路径。 WinHttpCreateProxyResolver 创建WinHttpGetProxyForUrlEx使用的句柄。 WinHttpCreateUrl 从组件部分创建URL,例如主机名和路径。 WinHttpDetectAutoProxyConfigUrl 查找代理自动配置(PAC)文件的URL。此功能报告PAC文件的URL,但不下载该文件。 WinHttpFreeProxyResult 释放从以前的调用WinHttpGetProxyResult检索的数据。 WinHttpGetDefaultProxyConfiguration 从注册表中检索默认的WinHTTP代理配置。 WinHTTPGetIEProxyConfigForCurrentUser 获取当前用户的Internet Explorer(IE)代理配置。 WinHttpGetProxyForUrl 检索指定URL的代理信息。 WinHttpGetProxyForUrlEx 检索指定URL的代理信息。 WinHttpGetProxyResult 检索到调用的结果WinHttpGetProxyForUrlEx。 WinHttpOpen 初始化应用程序对WinHTTP功能的使用。 WinHttpOpenRequest 创建HTTP请求句柄。 WinHttpQueryAuthSchemes 返回服务器支持的授权方案。 WinHttpQueryDataAvailable 返回可立即与读取数据的字节数 WinHttpReadData。 WinHttpQueryHeaders 检索与HTTP请求相关联的头信息。 WinHttpQueryOption 在指定的句柄上查询Internet选项。 WinHttpReadData 从WinHttpOpenRequest函数打开的句柄中读取数据 。 WinHttpReceiveResponse 结束由WinHttpSendRequest启动的HTTP请求 。 WinHttpResetAutoProxy 重置自动代理。 WinHttpSendRequest 将指定的请求发送到HTTP服务器。 WinHttpSetCredentials 将所需的授权凭证传递给服务器。 WinHttpSetDefaultProxyConfiguration 在注册表中设置默认的WinHTTP代理配置。 WinHttpSetOption 设置Internet选项。 WinHttpSetStatusCallback 设置WinHTTP可以在操作过程中进行调用的回调函数。 WinHttpSetTimeouts 设置涉及HTTP事务的各种超时。 WinHttpTimeFromSystemTime 根据HTTP版本1.0规范格式化日期和时间。 WinHttpTimeToSystemTime 获取HTTP时间/日期字符串并将其转换为 SYSTEMTIME结构。 WinHttpWriteData 将请求数据写入HTTP服务器。 WinHttpWebSocketClose 关闭WebSocket连接。 WinHttpWebSocketCompleteUpgrade 完成由WinHttpSendRequest启动的WebSocket握手。 WinHttpWebSocketQueryCloseStatus 获取服务器发送的关闭状态。 WinHttpWebSocketReceive 从WebSocket连接接收数据。 WinHttpWebSocketSend 通过WebSocket连接发送数据。 WinHttpWebSocketShutdown 向WebSocket连接发送关闭框架