• 设为首页
  • 收藏本站
  • 积分充值
  • VIP赞助
  • 手机版
  • 微博
  • 微信
    微信公众号 添加方式:
    1:搜索微信号(888888
    2:扫描左侧二维码
  • 快捷导航
    福建二哥 门户 查看主题

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

    发布者: 涵韵3588 | 发布时间: 2025-8-13 23:32| 查看数: 62| 评论数: 0|帖子模式

    不少网站为了提高加载速度,启用HTTP服务器的GZIP压缩功能,当客户端发送的HTTP请求中声明可以接受GZIP编码时,服务器自动对HTTP响应内容进行GZIP压缩。但是,在VBS中想自动对GZIP编码进行解压就没有那么容易了。
    不同组件对GZIP压缩的处理不尽相同,首先看Msxml2.XMLHTTP:
    1. 'By Demon
    2. 'http://demon.tw
    3. Dim http
    4. Set http = CreateObject("Msxml2.XMLHTTP")
    5. http.open "GET", "https://www.baidu.com", False
    6. http.setRequestHeader "Accept-Encoding", "gzip"
    7. http.send
    8. WScript.Echo http.responseText
    复制代码
    从测试的结果看,Msxml2.XMLHTTP会自动进行GZIP解压,GOOD!
    其次是Msxml2.ServerXMLHTTP:
    1. 'By Demon
    2. Dim http
    3. Set http = CreateObject("Msxml2.ServerXMLHTTP")
    4. http.open "GET", "https://www.baidu.com", False
    5. http.setRequestHeader "Accept-Encoding", "gzip"
    6. http.send
    7. WScript.Echo http.responseText
    复制代码
    很可惜,返回的是乱码。再看看WinHttp.WinHttpRequest.5.1:
    1. 'By Demon
    2. Dim http
    3. Set http = CreateObject("WinHttp.WinHttpRequest.5.1")
    4. http.open "GET", "https://www.baidu.com", False
    5. http.setRequestHeader "Accept-Encoding", "gzip"
    6. http.send
    7. WScript.Echo http.responseText
    复制代码
    依然是乱码。虽然说一般情况下用Msxml2.XMLHTTP组件已经绰绰有余了,但是有些时候还是不行的,比如不能发送Cookie,不能伪造Referer等等。所以还是得想办法对GZIP进行解码,办法无外乎两种,自己用VBS写算法或者调用第三方组件。
    算法我就偷懒不写了,感觉效率不会太高,哪位朋友感兴趣可以写来玩玩。找了个不错的第三方组件(居然用第三方,我果然老了)Chilkat.Gzip:
    1. Dim Gzip
    2. Set Gzip = CreateObject("Chilkat.Gzip")
    3. Gzip.UnlockComponent ""
    4. 'By Demon
    5. Dim http
    6. Set http = CreateObject("WinHttp.WinHttpRequest.5.1")
    7. http.open "GET", "https://www.baidu.com", False
    8. http.setRequestHeader "Accept-Encoding", "gzip"
    9. http.send
    10. WScript.Echo Gzip.UncompressString(http.responseBody, "utf-8")
    复制代码
    顺便说一下这个组件是收费的,可以免费试用30天,所以还是应该用VBS来实现?
    原文:http://demon.tw/programming/vbs-http-gzip.html

    来源:互联网
    免责声明:如果侵犯了您的权益,请联系站长(1277306191@qq.com),我们会及时删除侵权内容,谢谢合作!

    最新评论

    浏览过的版块

    QQ Archiver 手机版 小黑屋 福建二哥 ( 闽ICP备2022004717号|闽公网安备35052402000345号 )

    Powered by Discuz! X3.5 © 2001-2023

    快速回复 返回顶部 返回列表