[已解决]HTTP 返回GZIP数据格式如何解压??
本帖最后由 auto 于 2020-11-19 08:19 编辑如何在setRequestHeader中不加入GZIP可以返回数据,但是加入GZIP,就解不开了。参考https://www.autoitx.com/forum.ph ... 8112&highlight=gzip,引用GZIP.AU3进行解压,也不能获取数据。感觉_ZLIB_Uncompress _ZLIB_GZUncompress 都不起作用。。
引用的GZIP.AU3不支持64位,在文件开始加上 #PRE_UseX64=n 即可。
上代码看看 #include <zlib.au3>
#include <Date.au3>
#Region ;**** 参数创建于 ACNWrapper_GUI ****
#PRE_icon=C:\WINDOWS\System32\SHELL32.dll|-18
#PRE_Outfile_x64=test.exe
#PRE_Res_requestedExecutionLevel=None
#EndRegion ;**** 参数创建于 ACNWrapper_GUI ****
$oHTTP = ObjCreate("winhttp.winhttprequest.5.1")
$url = "https://www.126.com"
$oHTTP.Open("GET", $url) ;true 为异步模式
$oHTTP.setRequestHeader("Accept" , "text/html,application/xhtml+xml,image/jxr,*/*" )
$oHTTP.setRequestHeader("Accept-Language" , "zh-CN" )
$oHTTP.setRequestHeader("User-Agent" , "Mozilla/5.0(WindowsNT10.0;WOW64;Trident/7.0;rv" )
$oHTTP.setRequestHeader("Accept-Encoding" , "gzip,deflate" )
$oHTTP.setRequestHeader("Host" , "www.126.com" )
$oHTTP.setRequestHeader("Connection" , "Keep-Alive" )
$oHTTP.Send()
$binary = $oHTTP.ResponseBody
$html = BinaryToString(_ZLIB_GZUncompress($binary),4)
ConsoleWrite($html) 好吧,整了这么久,原来不能用64位,只能用32位。。。 win10 测试返回正确结果 zghwelcome 发表于 2020-11-17 18:36
win10 测试返回正确结果
我的win10返回无数据,要加上#PRE_UseX64=n在前面才有数据。。一直都是64位测试。。 auto 发表于 2020-11-17 18:41
我的win10返回无数据,要加上#PRE_UseX64=n在前面才有数据。。一直都是64位测试。。
这个UDF的DLL只支持32位 解决后及时改标题。 厉害了同学们 我来学习
页:
[1]