请教个问题:LR如何模拟REST client发post请求
服务器:nginx测试需要模拟REST client向服务器发送Post请求,消息如下所示
POST /1.0.0.0/EnterAccounts/scy/SubAccounts/Create?sig=54ce457b7183895ce18f09cb383c698dHTTP/1.1
Content-Type: application/xml;charset=utf-8
Accept: application/xml
Authorization: MTAwMDoyMDEzMTExMzE1NDI1Nw==
Content-Length: 111
Host: 192.168.27.108:7777
Connection: Keep-Alive
<?xml version='1.0' encoding='utf-8'?>
<Create>
<appId>5ebdce4f87104b11b5ee9bf88ec53d4a</appId>
<accountSid>1000</accountSid>
</Create>
初学LR,摸索写了个脚本
web_add_header("Authorization", "MTAwMDoyMDEzMTExMzE1NDI1Nw==");
web_custom_request("web_custom_request",
"URL=http://192.168.27.108:7777/1.0.0.0/EnterAccounts/scy/SubAccounts/Create?sig=54ce457b7183895ce18f09cb383c698d",
"Method=POST",
"Resource=0",
"RecContentType=application/xml",
"Referer=",
"Mode=HTTP",
"EncType=Content-Type: application/xml;charset=utf-8",
"Body=<?xml version='1.0' encoding='utf-8'?>/r/n"
"<Create>/r/n"
"<appId>5ebdce4f87104b11b5ee9bf88ec53d4a</appId>/r/n"
"<accountSid>1000</accountSid>/r/n"
"</Create>/r/n",
LAST);
请问各位大侠,如何实现?谢谢! 本帖最后由 tianlang001 于 2013-11-13 16:29 编辑
"EncType=Content-Type: application/xml;charset=utf-8",
这行有错误
Content-Type其实就是EntType
改成下面的
"EncType=application/xml;charset=utf-8", 回复 2# tianlang001
是的,执行错误,如下:
正在开始操作 Action。
Action.c(3): 警告 -26593: 将添加的标头应用于所有后续 URL 时,可能会导致不可预测R 结果。已添加它
Action.c(3): web_add_header("Authorization") 最高严重级别为“warning”
Action.c(4): 错误 -27796: 连接服务器“192.168.27.108:7777”失败: “ 连接已超时”
Action.c(4): 警告 -26000: Empty or no response for URL="http://192.168.27.108:7777/1.0.0.0/EnterAccounts/scy/SubAccounts/Create?sig=54ce457b7183895ce18f09cb383c698d"
Action.c(4): web_custom_request("web_custom_request") 最高严重级别为“ERROR”,0 个正文字节,0 个标头字节
正在结束操作 Action。
正在结束迭代 1。
备注:服务器是OK的,因为我用python构造同样的消息能获得响应,所以怀疑自己写的脚本有错误,请各位大侠指教,谢谢! 好吧,雷到我了,你的转义字符真奇葩
是\r\n 而不是/r/n
其实发送的数据要不要这个都无所谓,这样只是在log中容易看些 Body=<?xml version='1.0' encoding='utf-8'?>
你确定这里面是单引号而不是双引号么,怎么我的REST Client里都是双引号呢,要是双引号的话,记得要转义
写成这样\"1.0\" 本帖最后由 tianya6607 于 2013-11-13 16:40 编辑
回复 4# tianlang001
把转义符修改或拿掉后还是不行,依旧报上述错误,单引号是确信的,用python构造http请求也是单引号 本帖最后由 tianlang001 于 2013-11-13 16:46 编辑
回复 6# tianya6607
第一个回复你改了没,第一个回复我重新编辑过,最开始没看到错误 回复 7# tianlang001
感谢大侠耐心指导,我仔细检查了代码,自己犯错误了,把URL地址搞错了,URL修正后就OK了,谢谢! 回复 8# tianya6607
算不得大侠,只是最近刚好把这个研究懂了,呵呵,共同进步,EntType那个你改了没,要是没改能运行给我说下哈。 回复 9# tianlang001
不改也是可以的,只是头域Content-Type: Content-Type: application/xml;charset=utf-8
重复的,可能服务器没有严格校验 回复 10# tianya6607
thanks,我还知道这个可以写到header中去,写两个header tianya6607 发表于 2013-11-13 16:29
回复 2# tianlang001
是的,执行错误,如下:
你这个警告是怎么解决的,我本来想直接忽略的,但是会影响后面的操作。
Action.c(3): 警告 -26593: 将添加的标头应用于所有后续 URL 时,可能会导致不可预测R 结果。已添加它
Action.c(3): web_add_header("Authorization") 最高严重级别为“warning”
页:
[1]