loadrunner测试http协议行尾

本文介绍了在LoadRunner测试中如何关联HTTP响应中的特定参数,特别是识别服务器返回值中Server字段的方法。通过调整web_reg_save_param函数的左右边界,解决了识别HTTP协议行尾的问题,指出在Windows系统中HTTP协议行尾由" "组成。同时,文章还探讨了回车和换行的历史来源以及不同操作系统中换行符的差异。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    在做关联的时候我想关联从某个位置开始直到http协议行的结束,比如我想查看服务器返回值中的Server的值。

  使用web_reg_save_param函数,左边界为"Server:",右边界我假设为“\n”

 以访问百度做试验,脚本如下:

Action()
{	
	web_reg_save_param("servers",
		"LB=Server:",
		"RB=\n",
		"Ord=All",
		"NotFound=WARNING",
		"Search=Headers",
		LAST);


	web_url("www.baidu.com", 
		"URL=http://www.baidu.com/", 
		"Resource=0", 
		"RecContentType=text/html", 
		"Referer=", 
		"Snapshot=t1.inf", 
		"Mode=HTML", 
		EXTRARES, 
		"Url=/img/i-1.0.0.png", ENDITEM, 
		"Url=/img/bg-1.0.0.gif", ENDITEM, 
		"Url=/js/bdsug.js?v=1.0.3.0", ENDITEM, 
		"Url=/favicon.ico", "Referer=", ENDITEM, 
		LAST);

	return 0;
}


跑出来结果如下:


从上图中可以看出http协议行尾是有"\r \n"组成的。把右边界改为”\r \n“就能跑出想要的结果。


备忘:

1、  HTTP指令由多行组成,以一个空行结束;

2、  HTTP指令行尾是有\r \n 组成

3、  Connection: Keep-Alive              告知服务器处理完此条指令后不要断开连接(默认情况下,服务器处理一条指令后,立即断开连接);

4、  如果出现错误的指令,即使有上述的命令行,服务器也会自动断开连接。



下面mark下\r \n的区别。

'\r'是回车,'\n'是换行,前者使光标到行首,后者使光标下移一格。


在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)的玩意,每秒钟可以打10个字符。但是它有一个问题,就是打完一行换行的时候,要用去0.2秒,正好可以打两个字符。要是在这0.2秒里面,又有新的字符传过来,那么这个字符将丢失。 


于是,研制人员想了个办法解决这个问题,就是在每行后面加两个表示结束的字符。一个叫做“回车”,告诉打字机把打印头定位在左边界;另一个叫做“换行”,告诉打字机把纸向下移一行。 


这就是“换行”和“回车”的来历,从它们的英语名字上也可以看出一二。 


后来,计算机发明了,这两个概念也就被般到了计算机上。那时,存储器很贵,一些科学家认为在每行结尾加两个字符太浪费了,加一个就可以。于是,就出现了分歧。 


Unix系统里,每行结尾只有“<换行>”,即“\n”;Windows系统里面,每行结尾是“<换行><回车>”,即“\n\r”;Mac系统里,每行结尾是“<回车>”。一个直接后果是,Unix/Mac系统下的文件在Windows里打开的话,所有文字会变成一行;而Windows里的文件在Unix/Mac下打开的话,在每行的结尾可能会多出一个^M符号。 


参考文章:

http://javaeye-mao.iteye.com/blog/211354

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值