|
本帖最后由 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也可以得到正常长度。 |
|