标题: 【模块】WinHTTP API 网页访问模块 [打印本页] 作者: Xelloss0618 时间: 2022-7-5 14:37 标题: 【模块】WinHTTP API 网页访问模块 Curl 是火山目前最好的网络访问库,不过稍微有点重,因此封装系统自带的网络库还是非常有必要的。
Windows 提供了两套网络访问接口:WinHTTP 和 WinINet,还有基于这两个接口封装的 COM 对象:WinHTTP.WinHttpRequest、XMLHTTPRequest。
其中 COM 对象会简单易用一些,但相比 API 缺了很多功能。而 WinHTTP API 是最底层的,WinINet API 的封装层次比较高,但不能进行底层控制,但相对也有 WinHTTP 不支持的 FTP 连接。
目前这几个在火山里都有第三方的封装,但都不太完整,所以我选择了 WinHTTP C/C++ API 做了完整封装。
需要特别注意,WinHTTP 的很多功能只能在较新版的 Windows 上使用,部分甚至还需要 Windows 11 的 SDK。
这也是 WinHTTP 的最大缺点,很多功能受系统版本限制的,不能想用就用,否则你的软件在老系统中运行会报错或崩溃。
除非你的程序不考虑兼容老系统,一般不建议使用 Windows 8 及更高版本才能使用的 API 和选项。