LoadRunner函数详解之web_custom_request

定义:允许用户运用任何HTTP支持的方式自定义HTTP请求
函数形式:web_custom_request( const char *RequestName, ,
[EXTRARES, ,] LAST );
这里写图片描述

示例1:Body可使用属性的演示

web_custom_request(
……
"BodyUnicode=REPRICE"
"BodyBinary=\\x08\\x00\\xCC\\x02\\x00\\x00"
"Body=.\r\n"
"-dxjjtbw/(.tp?eg:ch/6--\r\n",
LAST);

注:在上面的代码中,使用了3个参数来划分请求体,一个是Unicode,一个是二进制,最后一个是常规的字符串。最终的请求体是这3个参数按照在函数中的顺序连接起来的值。还有一个很少用到的参数,Binary。它也能描述二进制请求体,但只允许函数中只有一个请求体参数。所有的请求体都是ASCII字符,以null结束。

示例2:以下录制的脚本中,用户开始录制从 http://lazarus/html/forms/file.html。当用户提交他的你请求时,VuGen插入了web_add_header函数,接着在调用web_custom_request函数。

web_url("file.html", "URL=http://lazarus/html/forms/file.html", 
    "TargetFrame=_TOP", LAST ); 
web_add_header("Content–Type", 
"multipart/form–data; boundary=–––––––––––––––––––––––––––292742461228954"); 
web_custom_request("post_query.exe", "Method=POST", 
    "URL=http://lazarus/cgi–bin/post_query.exe", 
    "Body=–––––––––––––––––––––––––––––292742461228954\r\nContent–Disp" 
    "osition: form–data; name=\"entry\"\r\n\r\nText\r\n––––––––––" 
    "–––––––––––––––––––292742461228954\r\nContent–Disposition: f" 
    "–––––––––––292742461228954––\r\n", 
    "TargetFrame=", 
    LAST );

示例3:Raw Body的使用演示

char *abc= .../* a pointer to the raw data */ 
web_custom_request("StepName", 
"URL=http://some.url ", 
"Method=POST", 
RAW_BODY_START, 
"abc", 
3, 
RAW_BODY_END, 
LAST); 

注:在应用中,即使设置了数据的长度为0,指针也必须有值,不能为空。在“Binary=1”时,不能使用上面的语法传递原始数据。数据缓冲区中的数据不能使用参数化。也就是说,缓冲区中的任何参数(例如 “{MyParam}”)不能被正确的替代为相应的值,只会以字面值发送。

示例4:在Body属性中使用二进制代码

可以使用下面的格式在web_custom_request 函数的“Body”属性中加入二进制字符串。

\x[char1][char2]

通过2个字符[char1][char2]来表示十六进制的值。

例如:\x24表示16*2+4=36,它代表“$”符号,\x2B代表的是“+”符号。

如果不足2个字符,也不是有效的十六进制字符,VuGen则会当作ASCII文本处理。所以要注意,对于不足2个字符的十六进制,要在前面补0。例如 “\x2”是无效的十六进制串,需要边为“\x02”。

注意二进制的值是以“\x” 的形式出现在脚本中的,也就是说在“x” 前面有2个反斜杠。这是由C语言的转义语法决定的。但是,当使用VuGen生成web_custom_request 函数时,只需要输入一个反斜杠。

如果在web_custom_request 中使用参数化,定义参数时只需要包含一个反斜杠这是由于参数替换时是不考虑C的语法转换的。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值