VBS中怎么获取GZIP压缩的HTTP内容
VBS中怎么获取GZIP压缩的HTTP内容,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
不同组件对GZIP压缩的处理不尽相同,首先看Msxml2.XMLHTTP:
'ByDemon 'http://demon.tw Dimhttp Sethttp=CreateObject("Msxml2.XMLHTTP") http.open"GET","https://www.baidu.com",False http.setRequestHeader"Accept-Encoding","gzip" http.send WScript.Echohttp.responseText
从测试的结果看,Msxml2.XMLHTTP会自动进行GZIP解压,GOOD!
其次是Msxml2.ServerXMLHTTP:
'ByDemon Dimhttp Sethttp=CreateObject("Msxml2.ServerXMLHTTP") http.open"GET","https://www.baidu.com",False http.setRequestHeader"Accept-Encoding","gzip" http.send WScript.Echohttp.responseText
很可惜,返回的是乱码。再看看WinHttp.WinHttpRequest.5.1:
'ByDemon Dimhttp Sethttp=CreateObject("WinHttp.WinHttpRequest.5.1") http.open"GET","https://www.baidu.com",False http.setRequestHeader"Accept-Encoding","gzip" http.send WScript.Echohttp.responseText
依然是乱码。虽然说一般情况下用Msxml2.XMLHTTP组件已经绰绰有余了,但是有些时候还是不行的,比如不能发送Cookie,不能伪造Referer等等。所以还是得想办法对GZIP进行解码,办法无外乎两种,自己用VBS写算法或者调用第三方组件。
算法我就偷懒不写了,感觉效率不会太高,哪位朋友感兴趣可以写来玩玩。找了个不错的第三方组件(居然用第三方,我果然老了)Chilkat.Gzip:
DimGzip SetGzip=CreateObject("Chilkat.Gzip") Gzip.UnlockComponent"" 'ByDemon Dimhttp Sethttp=CreateObject("WinHttp.WinHttpRequest.5.1") http.open"GET","https://www.baidu.com",False http.setRequestHeader"Accept-Encoding","gzip" http.send WScript.EchoGzip.UncompressString(http.responseBody,"utf-8")
看完上述内容,你们掌握VBS中怎么获取GZIP压缩的HTTP内容的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注恰卡编程网行业资讯频道,感谢各位的阅读!
推荐阅读
-
如何使用VBS禁用或启动USB存储设备
这篇文章主要介绍“如何使用VBS禁用或启动USB存储设备”,在日常操作中,相信很多人在如何使用VBS禁用或启动USB存储设备问题上...
-
怎么用vbs结合wget实现下载网站图片
本篇内容介绍了“怎么用vbs结合wget实现下载网站图片”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让...
-
vbs中如何使用Size属性
本篇文章为大家展示了vbs中如何使用Size属性,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所...
-
VBS中怎么获取当前目录下所有文件夹名字
VBS中怎么获取当前目录下所有文件夹名字,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希...
-
vbs中怎么获取当前路径
vbs中怎么获取当前路径,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行...
-
VBS中怎么获取当前日期的前一天
本篇文章为大家展示了VBS中怎么获取当前日期的前一天,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你...
-
vbs中怎么获取远程host文件并保存到指定目录
vbs中怎么获取远程host文件并保存到指定目录,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问...
-
VBS中怎么获取外网IP地址并发送到指定邮箱
VBS中怎么获取外网IP地址并发送到指定邮箱,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的...
-
vbs中怎么获取radmin注册表的信息
vbs中怎么获取radmin注册表的信息,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希...
-
vbs中怎么使用wmi方法获取电脑硬件信息
这篇文章将为大家详细讲解有关vbs中怎么使用wmi方法获取电脑硬件信息,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读...