自制工具 翰华Box:https://hanhuabox.lanzous.com/b00zjq9uf
翰华Box - 开发日志:https://blog.csdn.net/qq_41517936/article/details/106409456
目录
背景
WinInet和WinHttp是windows平台下提供了两套独立的网络库,按照微软官方的说法, WinInet的优势在于client-端的应用,而WinHttp更适用于server-端编程。从名称上我们可以看出WinHttp在Http协议应用方面要比WinInet更加专业,WinInet支持的协议包括Gopher\HTTP\HTTPS\FTP较为杂乱,而WinHttp库专门是为HTTP\HTTPS服务的。
WinInet支持如此多协议的原因在于其自身是IE浏览器的网络层,所以它必须提供全方位的服务,包括各种协议的封装以及Cache机制。同时WinInet API的行为也被IE的设置所影响,具体表现为:用户通过“IE菜单->工具->连接->添加”可以为WinInet API指定专用的网络连接, autodialing服务没有从WinInet模块中分离出来;用户通过“IE菜单->工具->连接->局域网设置”可以为特定协议请求设置代理服务器,这一设置会影响到WinInetAPI 的行为;如果代理服务器需要用户/密码验证,则直接读取IE默认代理配置会使WinInet API访问失败,IE代理设置中不保存验证信息;WinInet API提供了持久化Cookie的机制,连接请求发起前必须手动清空Cookie,否则它们会在后续的请求中出现;WinInet的Cookie设置是针对特定URL而不是某次特定的请求,这种方式适用于IE浏览器应用,但对于我们目前的产品需求而言,