Windows HTTP服务(WinHTTP )的目的Microsoft Windows HTTP服务(WinHTTP )为开发人员提供HTTP客户端APP应用编程接口(API )和HTTP协议范围WinHTTP支持桌面客户端APP应用程序、Windows服务和基于Windows服务器的APP应用程序。 由于. net框架APP应用程序需要使用System.net类的网络设施,因此不建议在Microsoft.net框架中构建WinHTTP。 开发者WinHTTP提供了适用于基于活动服务器页面(ASP )的APP应用的c/c APP应用编程接口(API )和组件对象模型)自动化组件。 要使用其中一个接口,HTTP协议的基本知识很重要。 运行时,WinHTTP 5.1需要改进5.0版。 有关新功能的详细信息,请参阅WinHTTP 5.1中的新功能。 WinHTTP 5.1目前是Windows Server 2003系列Windows XP SP1 Windows 2000 SP3 (数据中心服务器除外)重要WinHTTP 5.1版的发布,因此WinHTTP 5.0的下载Microsoft从MSDN中删除了WinHTTP 5.0 SDK下载,并于2004年10月1日退出了对5.0版的产品支持。 WinHTTPMicrosoft Windows HTTP服务(WinHTTP )为开发人员提供了http/1.1互联网协议服务器支持的高级界面。 WinHTTP已进行了修订,以使主要用于与HTTP服务通信的服务APP应用程序在基于服务的场景中使用。 WinINet是一项为交互式桌面APP应用程序(如Microsoft Internet Explorer、Microsoft Office和Microsoft Money )设计的旧技术internet显示用户界面,如收集用户凭据。 但是,WinHTTP会以编程方式处理这些操作。 需要HTTP客户端服务的服务器APP应用程序必须使用WinHTTP而不是WinINet。 有关详细信息,请参阅将wininet APP应用程序移植到WinHTTP。 WinHTTP还被设计用于系统服务和基于HTTP的客户端APP应用。 WinHTTP比WinInet安全可靠。 但是,FTP或Gopher协议功能、cookie持久性、缓存、自动证书对话框处理以及Internet Explorer兼容性或底层平台支持的单用户APP应用程序将检测WinInet的使用可以通过winhttp APP应用程序编程接口(API )或通过WinHTTP请求和IWinHttpRequestEvents接口从抄送访问此接口。 也可以通过WinHTTP对象和Microsoft Visual Basic访问WinHTTP。 有关每个功能的详细信息和说明,请参阅特定语言的WinHTTP函数参考。 APP应用程序(如C#和ASP.NET APP应用程序)必须考虑托管的. net框架类。 有关使用. NET框架网络类的详细信息,请参阅MSDN库的访问互联网主题:NET开发. NET框架. NET框架. NET框架。 请注意,除异步完成回调外,WinHTTP无法重新导入。 这意味着线程包含WinHttpSendRequest、WinHttoReceiveResponse、WinHttpQueryDataAvailable、WinHttpSendData、 如果存在等待winhttp功能之一(如WinHTTPwratp )的调用,则可能会发生第二次调用,原因是APP应用程序将异步过程调用(APC )排队到调用winhttp的线程,winhttp在其中发出警报如果APC例程现在也可以调用WinHTTP,则重新输入WinHTTP API可能会破坏WinHTTP的内部状态。 WinHTTP 5.1的功能WinHTTP 5.1版增加了对IPv6的支持。 自动代理功能。 HTTP/1.0协议。 包括keep-alive连接和会话cookie支持。 HTTP/1.1数据包传输支持HTTP响应。 在会话之间维护活动的匿名连接池。 安全套接字层(SSL )功能,包括客户端证书。 支持的SSL协议为SSL 2.0、SSL 3.0和传输层安全(TLS ) 1.0。 支持服务器和代理验证,包括对Microsoft Passport 1.4和Negotiate/Kerberos软件包的集成支持。 除非被禁止,否则自动处理重定向。 脚本化的接口不包括API。
跟踪设备以解决问题。 WinHTTP不支持多种WinINet功能,包括URL缓存和永久cookie、自动传输、自动拨号、脱机支持、文件传输协议(FTP )和Gopher协议。 有关5.1版中引入的更改的详细信息,请参见WinHTTP 5.1中的新功能。 WinHTTP入门有关WinHTTP的详细信息,请参阅以下主题: WinHTTP版本介绍了运行在不同平台上的两个版本的WinHTTP、5.0版和5.1版。 WinHTTP 5.1的新功能是最新版本的WinHTTP的更改和新增功能。 网络术语描述了与一般的网络和特定的HTTP协议有关的有用的概念和术语。 选择一个WinHTTP接口描述了C / C ++ API和WinHTTP的COM接口。 WinHTTP安全注意事项描述使用WinHTTP时要注意的安全问题。 将WinINet应用程序移植到WinHTTP中,介绍如何修改现有的WinINet应用程序以使用WinHTTP API。 WinHTTP功能WinHTTP提供以下功能:WinHttpAddRequestHeaders 向HTTP请求句柄添加一个或多个HTTP请求标头。 WinHttpCheckPlatform 确定WinHTTP是否支持当前平台。 WinHttpCloseHandle 关闭单个HINTERNET句柄。 WinHttpConnect 指定HTTP请求的初始目标服务器。 WinHttpCrackUrl 将URL分为其组成部分,例如主机名和路径。 WinHttpCreateUrl 从组件部分创建URL,例如主机名和路径。 WinHttpDetectAutoProxyConfigUrl 查找代理自动配置(PAC)文件的URL。此功能报告PAC文件的URL,但不下载该文件。WinHttpGetDefaultProxyConfiguration 从注册表中检索默认的WinHTTP代理配置。 WinHTTPGetIEProxyConfigForCurrentUser 获取当前用户的Internet Explorer(IE)代理配置。 WinHttpGetProxyForUrl 检索指定URL的代理信息。 WinHttpOpen 初始化应用程序对WinHTTP功能的使用。 WinHttpOpenRequest 创建HTTP请求句柄。 WinHttpQueryAuthSchemes 返回服务器支持的授权方案。 WinHttpQueryDataAvailable 返回使用WinHttpReadData立即可以读取的数据的字节数。 WinHttpQueryHeaders 检索与HTTP请求相关联的头信息。 WinHttpQueryOption 在指定的句柄上查询Internet选项。 WinHttpReadData 从WinHttpOpenRequest函数打开的句柄中读取数据。 WinHttpReceiveResponse 结束由WinHttpSendRequest启动的HTTP请求。 WinHttpSendRequest 将指定的请求发送到HTTP服务器。 WinHttpSetCredentials 将所需的授权凭证传递给服务器。 WinHttpSetDefaultProxyConfiguration 在注册表中设置默认的WinHTTP代理配置。 WinHttpSetOption 设置Internet选项。 WinHttpSetStatusCallback 设置WinHTTP可以在操作过程中进行调用的回调函数。 WinHttpSetTimeouts 设置涉及HTTP事务的各种超时。 WinHttpTimeFromSystemTime 根据HTTP版本1.0规范格式化日期和时间。 WinHttpTimeToSystemTime 获取HTTP时间/日期字符串并将其转换为SYSTEMTIME结构。 WinHttpWriteData 将请求数据写入HTTP服务器。