51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2177|回复: 1
打印 上一主题 下一主题

[原创] [已解决]web_reg_save_param函数保存下载body部分内容不完整

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2012-2-27 11:00:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 3396408 于 2012-2-29 09:33 编辑

  1.    web_set_max_html_param_len("102400000");
  2. web_reg_save_param("testdown",
  3.   "LB=",
  4.   "RB=",
  5.   "Search=Body",
  6.   LAST);
  7. web_url("ifeng_weibo_android_v1.01beta.apk",
  8.   "URL=http://res.t.ifeng.com/download/android/ifeng_weibo_android_v1.01beta.apk",
  9.   "Resource=1",
  10.   "RecContentType=application/octet-stream",
  11.   "Referer=",
  12.   "Snapshot=t1.inf",
  13.   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也可以得到正常长度。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2012-2-27 11:14:40 | 只看该作者
apk本来就是二进制的。
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-9 10:42 , Processed in 0.067202 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表