java應用jdbc銜接數據庫對象類和jdbc銜接mysql數據示例。本站提示廣大學習愛好者:(java應用jdbc銜接數據庫對象類和jdbc銜接mysql數據示例)文章只能為提供參考,不一定能成為您想要的結果。以下是java應用jdbc銜接數據庫對象類和jdbc銜接mysql數據示例正文
很多網站為了進步加載速度,啟用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.百度.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.百度.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.百度.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.百度.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