[已解决]web_reg_save_param函数保存下载body部分内容不完整
本帖最后由 3396408 于 2012-2-29 09:33 编辑web_set_max_html_param_len("102400000");
web_reg_save_param("testdown",
"LB=",
"RB=",
"Search=Body",
LAST);
web_url("ifeng_weibo_android_v1.01beta.apk",
"URL=http://res.t.ifeng.com/download/android/ifeng_weibo_android_v1.01beta.apk",
"Resource=1",
"RecContentType=application/octet-stream",
"Referer=",
"Snapshot=t1.inf",
LAST);
单步调试的时候发现参数testdown保存到的内容
用httpwatch截包的时候发现文件内容是这样的
请问如何解决这个问题,让参数获取body所有的内容?
web_reg_save_param函数左右边界设置成二进制数据无效;录制设置那里UTF-8勾选与否也无效。
------------------------------------------------------------------------
经测试发现,并非body获取到的数据不完整,而是strlen()函数无法完整校验body部分的长度,估计由于数据编码问题吧
用httpwatch得到下载文件大小之后直接按这个大小保存body部分所有内容,最终保存出来的文件是正常的,测试的时候是.rar文件。
不知道有没有更好的办法获取body部分的长度然后方便后文的保存,测试过用两个web_reg_save_param,一个保存Headers,一个保存body,最终并无法得到两个正确的长度,故无法用 总长度-头长度 来得到body的长度。
用的是LR8.1,不知道更高级的版本有没有合适的统计长度函数,或者同一个请求调用多次web_reg_save_param也可以得到正常长度。 apk本来就是二进制的。
页:
[1]