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.ngui.cc/images/no-images.jpg)
wininet,winhttp,xmlhttprequest,各版本区别 《转》
一、标准API接口WinINet(Microsoft Windows Internet)和WinHTTP(Microsoft Windows HTTP) 实现Http访问,微软提供了二套API:WinINet, WinHTTP(分别封装于system32目录下的wininet.dll和winhttp.dll内) 二者主要区别在于后者更为安…...
![](https://img-blog.csdnimg.cn/6da046c676594a42be3dab0d40b7eb79.png)
朴素,word,任何参考文献导入endnote
朴素,word,任何参考文献导入endnote 注意:对于以下这几种不做阐述,看其他帖子都有讲述: 这里的参考文献指的是类似于: [1]. Li Y, Lu Y, Huo X, et al. Bandgap tuning strategy by cations and halide io…...
![](https://img-blog.csdnimg.cn/59b0d719a3404345b3f7cc786cfc1668.png)
数学建模--三维图像绘制的Python实现
目录 1.绘制三维坐标轴的方法 2.绘制三维函数的样例1 3.绘制三维函数的样例2 4.绘制三维函数的样例3 5.绘制三维函数的样例4 6.绘制三维函数的样例5 1.绘制三维坐标轴的方法 #%% #1.绘制三维坐标轴的方法 from matplotlib import pyplot as plt from mpl_toolkits.mplot3…...
![](https://img-blog.csdnimg.cn/cba7092e1b554be7bfa4661443006e6b.png)
Spring Cloud Alibaba-Feign整合Sentinel
第1步: 引入sentinel的依赖 <!--sentinel客户端--> <dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-sentinel</artifactId> </dependency> 第2步: 在配置文件中开启Feign对Sentinel的…...
![](https://img-blog.csdnimg.cn/58b6db489b924232a142e7c200b5aeb7.png)
zabbix配置钉钉告警、和故障自愈
钉钉告警python脚本 cat python20 #!/usr/bin/python3 #coding:utf-8 import requests,json,sys,os,datetime # 机器人的Webhook地址 webhook"钉钉" usersys.argv[1] textsys.argv[3] data{"msgtype": "text","text": {"conten…...
![](https://www.ngui.cc/images/no-images.jpg)
Web安全测试(五):XSS攻击—存储式XSS漏洞
一、前言 结合内部资料,与安全渗透部门同事合力整理的安全测试相关资料教程,全方位涵盖电商、支付、金融、网络、数据库等领域的安全测试,覆盖Web、APP、中间件、内外网、Linux、Windows多个平台。学完后一定能成为安全大佬! 全部文章请访问专栏:《全栈安全测试教程(0基…...
![](https://img-blog.csdnimg.cn/fd6258e0aba84ef18fc89e6acec5971b.png)
本地PC机通过SSH方式远程Jetson
1. 检测电脑是否安装openSSH 以管理员身份运行powershell终端输入以下命令: Get-WindowsCapability -Online | ? Name -like OpenSSH*若没有安装OpenSSH,会出现如下图提示: 输入Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.…...
![](https://www.ngui.cc/images/no-images.jpg)
面向对象 学习黑马视频(03)
1.内存分区模型 /* 面向对象编程** 内存分区模型* 1.代码区:存放函数体的二进制代码,由操作系统进行管理的* 2.全局区:存放全局变量和静态变量以及常量* 3.栈区:由编译器自动分配释放,存放函数的参数值…...
![](https://img-blog.csdnimg.cn/img_convert/4ab09026885a95a9f5a25b129fa5a38e.jpeg)
FinClip 支持创建 H5应用类小程序;PC 终端 优化升级
FinClip 的使命是使您能够通过小程序解决关键业务流程挑战,并完成数字化转型。不妨让我们看看本月产品与市场发布亮点,是否有助于您实现目标。 产品方面的相关动向👇👇👇 FinClip 支持创建 H5应用类小程序 近期我们…...
![](https://img-blog.csdnimg.cn/1cdc1b99f8b344d8a4e1201606c01c08.png)
YOLOV8实例分割——详细记录环境配置、自定义数据处理到模型训练与部署
前言 Ultralytics YOLOv8是一种前沿的、最先进的(SOTA)模型,它在前代YOLO版本的成功基础上进行了进一步的创新,引入了全新的特性和改进,以进一步提升性能和灵活性。作为一个高速、精准且易于操作的设计,YO…...
![](https://www.ngui.cc/images/no-images.jpg)
2309ddocx02文档
风格,页眉和页脚等内容与主要分开,允许在起始文档中放大量自定义,然后在生成文档中显示. 打开文档 from docx import Document document Document() document.save("test.docx")真正打开文档 要用文件名打开文档: document Document("existing-document-f…...
![](https://img-blog.csdnimg.cn/img_convert/c22788b7e7b5300b15ca497d732482b1.png)
第一章初识微服务
文章目录 认识微服务单体架构分布式架构需要考虑的问题 微服务微服务的具体架构微服务技术对比企业中的技术需求 总结 服务拆分注意事项 认识微服务 随着互联网行业的发展,对服务的要求也越来越高,服务架构也从单体架构逐渐演变为现在流行的微服务架构。…...
![](https://www.ngui.cc/images/no-images.jpg)
微信小程序电影票订票小程序软件设计与实现
摘 要 我们的生活水平正在不断的提高,然而提高的一个重要的侧面表现就是更加注重我们的娱乐生活。电影是我们都喜欢的一种娱乐方式,各式各样的电影给我们带来的喜悦也是大不相同的。带来快乐的同时也因为其复杂、繁琐的流程让电影爱好者们变得烦躁起来。…...
![](https://img-blog.csdnimg.cn/3076efa055504a0bae935b8f626792d8.png)
Redis 缓存预热+缓存雪崩+缓存击穿+缓存穿透
面试题: 缓存预热、雪萌、穿透、击穿分别是什么?你遇到过那几个情况?缓存预热你是怎么做的?如何造免或者减少缓存雪崩?穿透和击穿有什么区别?他两是一个意思还是载然不同?穿适和击穿你有什么解…...
![](https://www.ngui.cc/images/no-images.jpg)
java 面试题汇总整理
java有哪四种引用类型 在Java中,有四种引用类型,用于控制对象的生命周期和垃圾回收行为。这些引用类型包括: 强引用(Strong Reference): 强引用是最常见的引用类型,它们是默认的引用类型。当一…...
![](https://img-blog.csdnimg.cn/d9784c5c983145639f70f5a70239889e.png)
淘宝开放平台免审核接入 获取淘宝卖家订单列表订单详情API
taobao.open.trades.sold.get 搜索当前会话用户作为卖家已卖出的交易数据(只能获取到三个月以内的交易信息) 1. 返回的数据结果是以订单的创建时间倒序排列的。 注意:type字段的说明,如果该字段不传,接口默认只查4种类…...
![](https://www.ngui.cc/images/no-images.jpg)
Mybatis中的关系映射
1.一对一的映射关系 一对一关系(One-to-One)表示两个实体对象之间存在唯一的关联关系。例如,一个学生只能拥有一个身份证。在 MyBatis 中,我们可以使用结果嵌套或一对一映射来处理一对一关系。 1.1 创建模型类和Vo类 package com…...
![](https://img-blog.csdnimg.cn/68d0ef7d7afb4f1586deb42465508d31.png)
领域建模之数据模型设计方法论
本文通过实际业务需求场景建模案例,为读者提供一种业务模型向数据模型设计的方法论,用于指导实际开发中如何进行业务模型向数据模型转化抽象,并对设计的数据模型可用性、扩展性提供了建议性思考。通过文章,读者可以收获到业务模型…...
![](https://www.ngui.cc/images/no-images.jpg)
springboot毕业生信息招聘平台设计与实现
摘 要 随着社会的发展,社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 毕业生信息招聘平台,主要的模块包括查看管理员;首页、个人中心、企业管理、空中宣讲会管理、招聘岗位管理、毕业生管理…...
![](https://img-blog.csdnimg.cn/212aa4e18fbb42e09b1e64848e892753.png)
开发前期准备工作
开发前期准备工作 文章目录 开发前期准备工作0 代码规范0.1 强制0.2 推荐0.3 参考dao:跟数据库打交道service:业务层,人类思维解决controller:抽象化 0.4 注释规范0.5 日志规范0.6 专有名词0.7 控制层统一异常统一结构体控制层提示…...
![](https://www.ngui.cc/images/no-images.jpg)
k8s deployment服务回滚,设置节点为不可调度
服务回滚 通过滚动升级的策略可以平滑的升级Deployment,若升级出现问题,需要最快且最好的方式回退到上一次能够提供正常工作的版本。为此K8S提供了回滚机制。 revision:更新应用时,K8S都会记录当前的版本号,即为revi…...
![](https://img-blog.csdnimg.cn/img_convert/33b82acec32fd5b5cc0c8c8a63340e85.png)
信息系统安全运维和管理指南
声明 本文是学习 信息系统安全运维管理指南. 而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 安全运维支撑系统 信息系统安全服务台 目的 对信息系统安全事件进行统一监控与处理。 要求 建立一个集中的信息系统运行状态收集、处理、显示及报警的系…...
![](https://img-blog.csdnimg.cn/d4ef0394fc034d09be12e204e7b2aa6c.jpeg)
现货黄金代理好吗?
做黄金代理这个职业好吗?从目前的市场现状来看,其实做黄金代理很不错的。在股票市场中,投资者只能通过买涨进盈利,所以当市场行情不好的时候,股票经纪人的业务将很难展开,而现货黄金投资者不一样࿰…...
![](https://img-blog.csdnimg.cn/eb4b95271e92478e9d8b8c16284c4994.png)
BCSP-玄子Share-Java框基础_双系统Redis安装与基础语法
四、Redis 4.1 Redis 简介 Redis 是开源、高性能的key-value数据库,属于 NoSQL 数据库 NoSQL 数据库与关系型数据库 关系型数据库:采用关系模型来组织数据,主要用于存储格式化的数据结构NoSQL 数据库:泛指非关系型数据库&…...
![](https://www.ngui.cc/images/no-images.jpg)
android system_server WatchDog简介
简介 android系统中SystemServer WatchDog的主要作用是监控SystemServer进程的运行状态,防止其卡住或者死锁。 具体来说,watchDog线程会定期去检查SystemServer线程的运行情况。如果发现SystemServer线程超过一定时间未有响应,watchDog会认为SystemServer进程发生了问题,这时…...
![](https://img-blog.csdnimg.cn/ec6e317e30de41568c423836edf84aea.png)
华为---OSPF协议优先级、开销(cost)、定时器简介及示例配置
OSPF协议优先级、开销、定时器简介及示例配置 路由协议优先级:由于路由器上可能同时运行多种动态路由协议,就存在各个路由协议之间路由信息共享和选择的问题。系统为每一种路由协议设置了不同的默认优先级,当在不同协议中发现同一条路由时&am…...
![](https://www.ngui.cc/images/no-images.jpg)
MEMORY-VQ: Compression for Tractable Internet-Scale Memory
本文是深度学习相关文章,针对《MEMORY-VQ: Compression for Tractable Internet-Scale Memory》的翻译。 MEMORY-VQ:可追溯互联网规模存储器的压缩 摘要1 引言2 背景3 MEMORY-VQ4 实验5 相关工作6 结论 摘要 检索增强是一种强大但昂贵的方法࿰…...
![](https://img-blog.csdnimg.cn/08fad1b3b9a44319956996a3b8233a22.png)
Netty—ChannelHandler
文章目录 一、Channel、ChannelPipeline 以及ChannelHandler 三者的关系❓二、ChannelHandler 是什么?🤔️三、ChannelInboundHandler四、ChannelOutboundHandler 一、Channel、ChannelPipeline 以及ChannelHandler 三者的关系❓ 通过以上对Channel和Ch…...
![](https://www.ngui.cc/images/no-images.jpg)
Android 集成onenet物联网平台
一,在Android应用程序中集成OneNet物联网平台,您可以按照以下步骤进行操作: 注册OneNet账户:首先,您需要在OneNet官方网站上注册一个账户。访问OneNet网站(https://open.iot.10086.cn/ ↗)&…...
![](https://img-blog.csdnimg.cn/a4a4ac9fbf4641c18bf2ba6f0802b8ce.png)
java八股文面试[JVM]——如何打破双亲委派模型
双亲委派模型的第一次“被破坏”是重写自定义加载器的loadClass(),jdk不推荐。一般都只是重写findClass(),这样可以保持双亲委派机制.而loadClass方法加载规则由自己定义,就可以随心所欲的加载类,典型的打破双亲委派模型的框架和中间件有tomc…...
![](/images/no-images.jpg)
网站开发过程会遇到的问题/谷歌网页版入口在线
1. 问题描述: 干了一整天的活,农夫约翰完全忘记了他把拖拉机落在田地中央了。他的奶牛非常调皮,决定对约翰来场恶作剧。她们在田地的不同地方放了 N 捆干草,这样一来,约翰想要开走拖拉机就必须先移除一些干草捆。拖拉…...
![](/images/no-images.jpg)
自己建设网站多少钱/seo综合查询工具可以查看哪些数据
查看事务日志:工具如下:Lumigent Log Explorer for SQL Server (商业)SQL Log Rescue ---red-gate公司(Free) 处理事务日志超载问题:/**//*方法一: 使用分离与附加数据库方式.*/DECLARE DBName VARCHAR(50)SET DBNamedb_name--step 1: 分离…...
![](https://img-blog.csdnimg.cn/a537936bc0fe45f1a202854a5ed411c9.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBATXJycl9MaQ==,size_20,color_FFFFFF,t_70,g_se,x_16)
北龙中网 可信网站验证 费用/网站优化是什么意思
内存屏障:Memory Barrier(Memory Fence) ● 可见性 ○ 写屏障(sfence)保证在该屏障之前的,对共享变量的改动,都同步到主存当中 ○ 而读屏障(lfence)保证在该屏障之后&…...
![](https://img-blog.csdnimg.cn/9e959065bf3943319c6350fa7e489f89.png)
网站建设套模板/steam交易链接怎么获取
机器人开发--Universal Scene Description(USD)1 介绍1.1 概述1.2 标准使用的文件格式2 支持平台3 元宇宙标准参考1 介绍 1.1 概述 通用场景描述( USD ) 是用于交换3D 计算机图形数据的框架。该框架侧重于协作、非破坏性编辑以及启用有关图形数据的多种…...
![](https://img-blog.csdnimg.cn/54c441e4418d448eae05769333e692fe.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5LiK5YW15LyQ55y4,size_20,color_FFFFFF,t_70,g_se,x_16)
提供营销型网站设计/茶叶网络营销策划方案
Spring | Home https://repo.spring.io/libs-release-local/org/springframework/spring/https://github.com/spring-projects Spring中文版 - 在线API中文手册 - 码工具1、历史 2002年,Rod Jahnson首次推出了Spring框架雏形interface21框架。 2004年3月24日&#x…...
wordpress文档怎么制作/手机管家一键优化
目录 一、reactor设计模式简介 1、在Reactor模式中,有5个关键的参与者 1)、描述符(handle) 2)、同步事件分离器(demultiplexer) 3)、事件处理器接口(event handler&…...