濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > VBS獲取GZIP壓縮的HTTP內(nèi)容的實(shí)現(xiàn)代碼

VBS獲取GZIP壓縮的HTTP內(nèi)容的實(shí)現(xiàn)代碼

熱門(mén)標(biāo)簽:哪里有便宜的地圖標(biāo)注公司 齊齊哈爾高德地圖標(biāo)注店 地圖標(biāo)注政府哪個(gè)部門(mén)管 佛山真人電銷(xiāo)機(jī)器人廠家 神行者美術(shù)館地圖標(biāo)注 百度地圖標(biāo)注點(diǎn)距離代碼 如何用機(jī)器人進(jìn)行電銷(xiāo) 除了地圖標(biāo)注還有這種生意嗎 東營(yíng)快遞外呼系統(tǒng)

不少網(wǎng)站為了提高加載速度,啟用HTTP服務(wù)器的GZIP壓縮功能,當(dāng)客戶端發(fā)送的HTTP請(qǐng)求中聲明可以接受GZIP編碼時(shí),服務(wù)器自動(dòng)對(duì)HTTP響應(yīng)內(nèi)容進(jìn)行GZIP壓縮。但是,在VBS中想自動(dòng)對(duì)GZIP編碼進(jìn)行解壓就沒(méi)有那么容易了。

不同組件對(duì)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

從測(cè)試的結(jié)果看,Msxml2.XMLHTTP會(huì)自動(dòng)進(jìn)行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

依然是亂碼。雖然說(shuō)一般情況下用Msxml2.XMLHTTP組件已經(jīng)綽綽有余了,但是有些時(shí)候還是不行的,比如不能發(fā)送Cookie,不能偽造Referer等等。所以還是得想辦法對(duì)GZIP進(jìn)行解碼,辦法無(wú)外乎兩種,自己用VBS寫(xiě)算法或者調(diào)用第三方組件。

算法我就偷懶不寫(xiě)了,感覺(jué)效率不會(huì)太高,哪位朋友感興趣可以寫(xiě)來(lái)玩玩。找了個(gè)不錯(cuò)的第三方組件(居然用第三方,我果然老了)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")

順便說(shuō)一下這個(gè)組件是收費(fèi)的,可以免費(fèi)試用30天,所以還是應(yīng)該用VBS來(lái)實(shí)現(xiàn)?

原文:http://demon.tw/programming/vbs-http-gzip.html

您可能感興趣的文章:
  • 在IIS上啟用Gzip壓縮詳細(xì)方法(HTTP壓縮)
  • 在IIS上啟用Gzip壓縮 (HTTP壓縮)
  • PHP中HTTP方式下的Gzip壓縮傳輸方法舉偶
  • 關(guān)于HTTP傳輸中g(shù)zip壓縮的秘密探索分析

標(biāo)簽:文山 邢臺(tái) 四平 西安 鶴壁 銅川 湖州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《VBS獲取GZIP壓縮的HTTP內(nèi)容的實(shí)現(xiàn)代碼》,本文關(guān)鍵詞  VBS,獲取,GZIP,壓縮,的,HTTP,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《VBS獲取GZIP壓縮的HTTP內(nèi)容的實(shí)現(xiàn)代碼》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于VBS獲取GZIP壓縮的HTTP內(nèi)容的實(shí)現(xiàn)代碼的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    雷波县| 邳州市| 桐城市| 沁阳市| 玛曲县| 建阳市| 新津县| 阳东县| 霞浦县| 永清县| 古交市| 高雄市| 洛阳市| 泗洪县| 黄龙县| 桑植县| 平罗县| 鹤庆县| 建平县| 攀枝花市| 内丘县| 昌图县| 江陵县| 和顺县| 台北县| 兴化市| 花莲市| 繁峙县| 瑞丽市| 图木舒克市| 唐海县| 称多县| 宝坻区| 安庆市| 古丈县| 辽宁省| 凉城县| 嘉义县| 阿坝县| 大同县| 西畴县|