LoadRunner函数学习--lr_convert_string_encoding


转自:http://www.cnblogs.com/yangxia-test/archive/2013/01/22/2871715.html


临时工作用到,留下来说不定啥时候会用到



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.

int XmlBody()
{
    char tmp[30];


    lr_convert_string_encoding("张大千",LR_ENC_SYSTEM_LOCALE,LR_ENC_UTF8,"aaa");//就这一句就进行了编码转换,不知道其他编码如何转,知道的同学可以说一下。
    strcpy(tmp,lr_eval_string("{aaa}"));
    lr_save_string(tmp,"userName");
    
    lr_save_string(lr_eval_string(
    "<?xml version=\"1.0\"?>"
    "<methodCall>"
    "<methodName>middler.***</methodName>"
      "<params>"
            "<param>"
                  "<value>"
                    "<string>{userName}</string>"
                  "</value>"
            "</param>"
      "</params>"
    "</methodCall>"),"xmlStr");
}


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






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值