wininet,winhttp,xmlhttprequest,ServerXmlHttpRequest区别
来源:互联网 发布:mac flash插件错误 编辑:程序博客网 时间:2024/05/01 02:55
wininet,winhttp,xmlhttprequest,ServerXmlHttpRequest各版本区别
一、标准API接口WinINet(Microsoft Windows Internet)和WinHTTP(Microsoft Windows HTTP)
实现Http访问,微软提供了二套API:WinINet, WinHTTP(分别封装于system32目录下的wininet.dll和winhttp.dll内)二者主要区别在于后者更为安全和稳定,可以说WinHTTP是WinINet的升级版
二、COM对象XMLHttpRequest和WinHttpRequest和ServerXMLHTTPRequest
XMLHttpRequest是基于WinInet封装的,而WinHttpRequest和ServerXMLHTTPRequest则是基于WinHTTP封装的所以三者的稳定性属XMLHttpRequest为最差封装成COM形式主要是为了方便js vbs等脚本的调用,还具有易书写、降低开发难度等许多特点把
三、对象版本和封装位置
1、XMLHttpRequest对象版本和对应的封装dll文件
Microsoft.XMLHTTP 对应 msxml.dll
MSXML2.XMLHTTP 对应 msxml2.dll
MSXML2.XMLHTTP.3.0 对应 msxml3.dll
MSXML2.XMLHTTP.4.0 对应 msxml4.dll
MSXML2.XMLHTTP.5.0 对应 msxml5.dll(此版本是伴随office2007发布的,所以目录下可能找不到该版本的dll)
MSXML2.XMLHTTP.6.0 对应 msxml6.dll
如上各个dll的发布一般都是以补丁的形式发布,win7默认都集成了吧
2、ServerXMLHTTP对象版本和对应的封装dll文件
Msxml2.ServerXMLHTTP 对应 msxml2.dll(win7自带,下同!)
Msxml2.ServerXMLHTTP.3.0 对应 msxml3.dll
Msxml2.ServerXMLHTTP.4.0 对应 msxml4.dll
Msxml2.ServerXMLHTTP.5.0 对应 msxml5.dll
Msxml2.ServerXMLHTTP.6.0 对应 msxml6.dll
3、WinHttpRequest对象WinHttp.WinHttpRequest.5.1 对应 Winhttp.dll
(如上高版本的通常稳定性会好一点)
四、对象成员(属性、方法、事件等),主要优缺点
XMLRequest成员参考缺点:和浏览器挂钩,大多情况下会共享cookies,session,不支持单独设置代理优点:和浏览器挂钩,大多情况下会共享cookies,session
ServerXMLHTTP成员参考缺点:系统没有对应dll的情况下程序需要外gua一个dll文件优点:脱离浏览器,使用代理方便
WinHttpRequest成员参考缺点:暂无优点:脱离浏览器,使用代理方便
五、总结
如果你对WinInet或Winhttp比较熟悉的话当然推荐直接使用标准接口,但同样要付出的代价就是书写更多的代码,记住更多的参数就个人开发经验而言还是推荐大家使用WinHttpRequest对象,微软封装的COM还是很优秀的,应该足以应付大多数要求了
- wininet,winhttp,xmlhttprequest,ServerXmlHttpRequest区别
- wininet、winhttp、winsock的区别
- WinInet、winhttp、winsock的含义和区别
- WinInet 和 WinHttp 有何区别?
- WinInet, WinHttp, Winsock, ws2_32的区别和联系
- WinInet, WinHttp, Winsock, ws2_32的区别和联系
- WinInet, WinHttp, Winsock, ws2_32的区别和联系
- WinInet, WinHttp, Winsock, ws2_32的区别和联系
- WinINet 与 WinHTTP简介
- [转]使用WinINet和WinHTTP
- winsock,ws2_32,WinInet,WinHttp对比
- winsock,ws2_32,WinInet,WinHttp对比
- 使用WinINet和WinHTTP实现Http访问
- 使用WinINet和WinHTTP实现Http访问
- 使用WinINet和WinHTTP实现Http访问
- WinInet, WinHttp, Winsock, ws2_32的基本解释
- 用WinINet和WinHTTP访问网站
- 使用WinINet和WinHTTP实现Http访问
- Android Volley完全解析(一),初识Volley的基本用法
- Struts2笔记
- 17.XML 命名空间(XML Namespaces)
- Android 安全策略实例讲解:SEAndroid和SELinux
- 【零基础入门学习Python笔记007】了不起的分支和循环1:打飞机框架
- wininet,winhttp,xmlhttprequest,ServerXmlHttpRequest区别
- 统计一个句子中的单词个数
- android TextView控件
- [BZOJ 3675][Apio2014]序列分割
- GitHub Top 100 的 Android 开源库简介
- Android Volley完全解析(二),使用Volley加载网络图片
- 【问题解决】Safari不能保存session的处理方法
- Android Volley完全解析(三),定制自己的Request
- 透传消息和非透传消息