LoadRunner函数学习--lr_convert_string_encoding


lr_convert_string_encoding: 对中文进行UTF-8转码

int lr_convert_string_encoding ( const char *sourceString, const char *fromEncoding, const char *toEncoding, const char *paramName);

该函数有4个参数,含义如下:

sourceString:被转换的源字符串。

fromEncoding:转换前的字符编码。

toEncoding:要转换成为的字符编码。

paramName:转换后的目标字符串。

 

描述:LR录制的时候可以通过在VuGen的Tools-Recoding Options-Advanced—Support charset—UTF-8设置,只是部分规避。

实例:在脚本中直接采用中文明文进行请求

web_custom_request(“web_custom_request”,

“URL=http://172.16.4.191/list?id=环球影院”,

“Method=GET”,

“TargetFrame=”,

“Resource=0”,

“Referer=”,

“Body=”,

LAST);

 

结果:服务器返回404错误,找不到相应的资源id,明显服务器不能正确响应非UTF-8编码方式的请求。为了解决这个问题,最关键的是要把本地的GBK编码的汉字转换成UTF-8编码格式的信息,为此我们引入了LR自带的编码函数lr_convert_string_encoding.

char tmp[50];

lr_convert_string_encoding(“环球影视”,

LR_ENC_SYSTEM_LOCALE,

LR_ENC_UTF8,

“str”);

strcpy(tmp,lr_eval_string(“{str}”));

lr_save_string(tmp,”sorvalue”);

web_custom_request(“web_custom_request”,

“URL=http://172.16.4.191/list?id={sorvalue}”,

“Method=GET”,

“TargetFrame=”,

“Resource=0”,

“Referer=”,

“Body=”,

LAST);

 通过strcpy和lr_save_string的处理屏蔽\x00的影响,测试结果正常,正常返回HTTP反应内容。

 

 

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM