不少网站为了提高加载速度,启用HTTP服务器的GZIP压缩功能,当客户端发送的HTTP请求中声明可以接受GZIP编码时,服务器自动对HTTP响应内容进行GZIP压缩。但是,在VBS中想自动对GZIP编码进行解压就没有那么容易了。
不同组件对GZIP压缩的处理不尽相同,首先看Msxml2.XMLHTTP:
'By Demon 'http://demon.tw Dim http Set http = CreateObject("Msxml2.XMLHTTP") http.open "GET", "https://www.baidu.com", False http.setRequestHeader "Accept-Encoding", "gzip" http.send WScript.Echo http.responseText
从测试的结果看,Msxml2.XMLHTTP会自动进行GZIP解压,GOOD!
其次是Msxml2.ServerXMLHTTP:
'By Demon Dim http Set http = CreateObject("Msxml2.ServerXMLHTTP") http.open "GET", "https://www.baidu.com", False http.setRequestHeader "Accept-Encoding", "gzip" http.send WScript.Echo http.responseText
很可惜,返回的是乱码。再看看WinHttp.WinHttpRequest.5.1:
'By Demon Dim http Set http = CreateObject("WinHttp.WinHttpRequest.5.1") http.open "GET", "https://www.baidu.com", False http.setRequestHeader "Accept-Encoding", "gzip" http.send WScript.Echo http.responseText
依然是乱码。虽然说一般情况下用Msxml2.XMLHTTP组件已经绰绰有余了,但是有些时候还是不行的,比如不能发送Cookie,不能伪造Referer等等。所以还是得想办法对GZIP进行解码,办法无外乎两种,自己用VBS写算法或者调用第三方组件。
算法我就偷懒不写了,感觉效率不会太高,哪位朋友感兴趣可以写来玩玩。找了个不错的第三方组件(居然用第三方,我果然老了)Chilkat.Gzip:
Dim Gzip Set Gzip = CreateObject("Chilkat.Gzip") Gzip.UnlockComponent "" 'By Demon Dim http Set http = CreateObject("WinHttp.WinHttpRequest.5.1") http.open "GET", "https://www.baidu.com", False http.setRequestHeader "Accept-Encoding", "gzip" http.send WScript.Echo Gzip.UncompressString(http.responseBody, "utf-8")
顺便说一下这个组件是收费的,可以免费试用30天,所以还是应该用VBS来实现?
原文:http://demon.tw/programming/vbs-http-gzip.html
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
暂无评论...
更新日志
2024年12月23日
2024年12月23日
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]