wininet,winhttp,xmlhttprequest,各版本区别 《转》

这篇具有很好参考价值的文章主要介绍了wininet,winhttp,xmlhttprequest,各版本区别 《转》。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、标准API接口WinINet(Microsoft Windows Internet)和WinHTTP(Microsoft Windows HTTP)

实现Http访问,微软提供了二套API:WinINet, WinHTTP(分别封装于system32目录下的wininet.dll和winhttp.dll内)
二者主要区别在于后者更为安全和稳定,可以说WinHTTP是WinINet的升级版
LZ所提的UDF WinHTTP.au3就是直接调用标准接口写成的自定义函数库文件

二、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的情况下程序需要外挂一个dll文件
优点:脱离浏览器,使用代理方便

WinHttpRequest成员参考
缺点:暂无
优点:脱离浏览器,使用代理方便

五、总结

如果你对WinInet或Winhttp比较熟悉的话当然推荐直接使用标准接口,但同样要付出的代价就是书写更多的代码,记住更多的参数
就个人开发经验而言还是推荐大家使用WinHttpRequest对象,微软封装的COM还是很优秀的,应该足以应付大多数要求了

相关链接:

1、朱剑的财富博客

http://51lica.com/archives/1942

2、WinHTTP vs. WinINet

https://msdn.microsoft.com/en-us/library/windows/desktop/hh227297(v=vs.85).aspx

文档信息
版权声明:自由转载-非商用-非衍生-保持署名 | Creative Commons BY-NC-ND 3.0
原文网址: http://sunweiwei.com/2003/
最后修改时间: 2015年05月22日 15:12:27文章来源地址https://www.toymoban.com/news/detail-701354.html

到了这里,关于wininet,winhttp,xmlhttprequest,各版本区别 《转》的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C++ winhttp 实现文件下载器

    本篇内容讲述 C++ winHttp 实现下载器的简单 demo,使用了 WinHttpOpen、WinHttpConnect、WinHttpOpenRequest、WinHttpSendRequest、WinHttpReceiveResponse、WinHttpQueryDataAvailable、WinHttpReadData、WinHttpCloseHandle 等函数。 版权声明:本文为CSDN博主「1_bit」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原

    2024年02月01日
    浏览(18)
  • 记录一下易语言post get使用WinHttp的操作

    最近在学易语言,在进行通讯的时候,出现一些问题,现在记录下来,避免以后继续忘记, 先声明文本型变量jsonPostData .变量搞定了 然后声明一个对象变量httpObj post方法如下: get 方法如下: 亲自测试能通过,稳稳的在运行

    2024年04月17日
    浏览(26)
  • 微服务(SpringBoot、SpringCloud、SpringCloud Alibaba、Nacos、JDK)之间的版本对应依赖关系(附Nacos高速下载地址)

    前言 本文主要整理与介绍在搭建微服务项目时,核心组件之间的版本对应关系,避免版本依赖冲突带来的一系列问题,同时也方便后续升级与查看。 这里先放上我目前搭建的较新的微服务脚手架版本,如下(springboot3.0开始不支持jdk8) Spring Boot Spring Cloud Spring Cloud Alibaba Noc

    2024年02月04日
    浏览(34)
  • 爬虫与搜索引擎的区别/pyhton爬虫结构

    爬虫 :一段自动抓取互联网信息的程序,从互联网上抓取对于我们有价值的信息。  百度的网络爬虫就叫做BaiduSpider 搜索引擎 :核心模块一般包括爬虫、索引、检索和排序等,同时可添加其他一系列辅助模块,以为用户创造更好的网络使用环境。 从功能和原理上搜索引擎大

    2023年04月10日
    浏览(27)
  • GPT和爬虫有什么区别?如何利用爬虫实现GPT功能

            GPT(Generative Pre-trained Transformer)和爬虫是两个完全不同的概念和技术。GPT是一种基于Transformer模型的自然语言处理模型,用于生成文本,而爬虫是一种用于从互联网上收集数据的技术。           GPT是由OpenAI开发的一种深度学习模型,它通过大规模的预训练来

    2024年02月13日
    浏览(27)
  • ChatGPT 和爬虫有什么区别?

    ChatGPT是一种基于人工智能的对话模型,它通过训练大量的文本数据来生成自然语言回复。它可以用于实现智能对话系统,能够理解用户的输入并生成相应的回复。ChatGPT的目标是模拟人类对话,使得对话更加流畅和自然。 而爬虫是一种用于自动化地从互联网上收集信息的程序

    2024年02月11日
    浏览(19)
  • ChatGPT 和爬虫有什么区别

    目录 ChatGPT的概念和功能 爬虫的概念和功能 ChatGPT和爬虫的区别 ChatGPT是一个基于自然语言处理和机器学习的智能对话模型,具有以下功能:   1. 问题回答:ChatGPT可以回答用户提出的各种问题。不论是有关常识、历史、科学、当前事件还是其他领域的问题,用户可以直接向

    2024年02月12日
    浏览(22)
  • 【爬虫】get 和 post 的区别

    get 和 post请求是http协议中的两种请求方式。 get一般用来获取服务器的信息的,post一般是用来更新信息。 1)get请求的参数会附在URL之后(就是把数据放置在HTTP协议头中),以?分割URL和传输数据,参数之间以相连;POST 请求的参数,放在 Request body中。 所以,GET比POST更不安全

    2024年02月12日
    浏览(30)
  • 大数据毕业设计Python+Spark高速公路车流量预测可视化分析 智慧城市交通大数据 交通流量预测 交通爬虫 地铁客流量分析 深度学习 计算机毕业设计 知识图谱 深度学习 人工智能

    下面是一个简单的示例代码,演示如何使用 Python 中的机器学习模型(使用 Scikit-learn)来预测高速公路的车流量。在这个示例中,我们将使用线性回归模型进行预测。 在这个示例中,我们首先模拟了一些车流量数据,包括时间、天气和车流量。然后我们使用线性回归模型对车

    2024年04月11日
    浏览(42)
  • Linux系列:ubuntu各版本之间的区别以及Ubuntu、kubuntu、xUbuntu、lubuntu等版本区别及界面样式

    由于linux是开源系统,其发行厂家和发行版本非常多,碎片化也比较严重。Ubuntu是linux目前使用比较广泛的一个分支,Ubuntu本身的版本也是非常多。常见的版本有:Ubuntu、kubuntu、xUbuntu、lubuntu、Edubuntu、ubuntukylin等。 Ubuntu的不同版本主要是应对使用者的不同的预期需求,其实只

    2024年02月20日
    浏览(28)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包