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