主页 > 知识库 > VBS获取GZIP压缩的HTTP内容的实现代码

VBS获取GZIP压缩的HTTP内容的实现代码

热门标签:哪里有便宜的地图标注公司 齐齐哈尔高德地图标注店 地图标注政府哪个部门管 佛山真人电销机器人厂家 神行者美术馆地图标注 百度地图标注点距离代码 如何用机器人进行电销 除了地图标注还有这种生意吗 东营快递外呼系统

不少网站为了提高加载速度,启用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

您可能感兴趣的文章:
  • 在IIS上启用Gzip压缩详细方法(HTTP压缩)
  • 在IIS上启用Gzip压缩 (HTTP压缩)
  • PHP中HTTP方式下的Gzip压缩传输方法举偶
  • 关于HTTP传输中gzip压缩的秘密探索分析

标签:文山 海口 邢台 四平 西安 鹤壁 铜川 湖州

巨人网络通讯声明:本文标题《VBS获取GZIP压缩的HTTP内容的实现代码》,本文关键词  VBS,获取,GZIP,压缩,的,HTTP,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《VBS获取GZIP压缩的HTTP内容的实现代码》相关的同类信息!
  • 本页收集关于VBS获取GZIP压缩的HTTP内容的实现代码的相关信息资讯供网民参考!
  • 推荐文章