loadrunner-md5签名加密并转大写

本文介绍了一段使用LoadRunner进行登录操作的脚本实现细节,包括参数设置、Cookie管理、时间戳获取、MD5加密过程及登录请求的提交方式等关键技术点。

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

准备条件:

将md5.h放到脚本文件夹中

Action()
{
       char sign1[32];
	   char upper1[32];
	   char *dest=(char *) malloc(10*1024);



/**
 * 保存参数
 */
		lr_save_string("696f4bcc219a03b28044esds0ce1cfd6b0a","secret");//将secret值保存为参数secret

		lr_save_string("0204b55122cf92c8475bd25esdds132726fda92","gid");//将gid值保存为参数gid

		lr_save_string("1","appid");//将1值保存为参数gid

		lr_save_string("1","plat");//将1值保存为参数plat

		lr_save_string("59371","sver");//将59371值保存为参数sver

		lr_save_string("5.1","sysver");//将5.1值保存为参数sysver

		lr_save_string("miao-guanfang-1","pn");//将miao-guanfang-1值保存为参数pn

		lr_save_string("OPPO","mfo");//将OPPO值保存为参数mfo

		lr_save_string("OPPO+R9m","mfov");//将OPPO+R9m值保存为参数mfov

		lr_save_string("android","sys");//将android值保存为参数sys

		lr_save_string("1501077777","login_name");//将15010181898值保存为参数login_name

		lr_save_string("123456","login_token");//将123456值保存为参数login_token

		lr_save_string("4","login_type");//将4值保存为参数login_type

		lr_save_string("&","connector");//将&值保存为参数connector


/**
* 添加cookie
*/
		web_add_cookie("gid={gid};domain=miao.com;path=/");

		web_add_cookie("mfov={mfov};domain=miao.com;path=/");

		web_add_cookie("sver={sver};domain=miao.com;path=/");

		web_add_cookie("appid={appid};domain=miao.com;path=/");

		web_add_cookie("mfo={mfo};domain=miao.com;path=/");

		web_add_cookie("sysver={sysver};domain=miao.com;path=/");

		web_add_cookie("plat={plat};domain=miao.com;path=/");

		web_add_cookie("sys={sys};domain=miao.com;path=/");

		web_add_cookie("pn={pn};domain=miao.com;path=/");

/**
 * 描述:获取当前系统时间戳
 */

	    web_save_timestamp_param("tStamp", LAST ); 

        lr_output_message("%s",lr_eval_string("{tStamp}"));

        lr_save_var( lr_eval_string("{tStamp}")+0, 10, 0, "utime");




		lr_save_string(lr_eval_string("appid=""{appid}""{connector}""gid=""{gid}""{connector}""login_name=""{login_name}""{connector}""login_token=""{login_token}""{connector}""login_type=""{login_type}""{connector}""plat=""{plat}""{connector}""pn=""{pn}""{connector}""timestamp=""{utime}""{secret}"),"sign");
		lr_output_message(lr_eval_string("{sign}"));

/**
 * md5加密
 *
 */
        

 

        //GetMd5FromString(s,dest);
		GetMd5FromString(lr_eval_string("{sign}"),sign1); 
		lr_output_message(sign1);


		strcpy(upper1,lr_eval_string(sign1));        //获取sign1的值,并将值复制给upper1
		strupr(upper1);                  //将upper1的值大写
        lr_save_string(upper1,"SIGN1");		 //将upper1的值保存在SIGN1参数中  
		lr_output_message(lr_eval_string("{SIGN1}"));   //获取并输出SIGN1的值




/**
 * 登录
 * 说明:
 * 登录令牌(可以为密码、第三方token等);SDK登录时,login_token为空
 * 登录类型:1QQ登录、2新浪微博登录、3微信登录、4普通登录(包含用户名登录、手机登录和邮箱登录)、5 SDK登录、6:其他
 */

		web_reg_save_param("status",
						   "LB={\"status\":",
						   "RB=,",
						   "Search=body",
						   LAST);

		web_reg_save_param("token",
						   "LB=\"token\":\"",
						   "RB=\"",
						   "Search=body",
						   LAST);


		web_reg_save_param("profile_id",
						   "LB=\"profile_id\":",
						   "RB=,",
						   "Search=body",
						   LAST);

		lr_start_transaction("login");

        web_submit_data("login", 
            "Action=http://miao.com/v1/user/login", 
            "Method=POST", 
            "TargetFrame=", 
            //"RecContentType=text/html",
            "EncType=application/x-www-form-urlencoded",
            "Mode=HTML",
            ITEMDATA, 
            "Name=login_name", "Value={login_name}", ENDITEM, 
            "Name=login_token", "Value={login_token}", ENDITEM, 
            "Name=login_type", "Value={login_type}", ENDITEM, 
            "Name=timestamp", "Value={utime}", ENDITEM, 
            "Name=sign", "Value={SIGN1}", ENDITEM, 
             LAST);

		if(strcmp(lr_eval_string("{status}"),"200")==0)
		{
         lr_output_message("登录成功");
		 
		 lr_end_transaction("login", LR_PASS);

		 Home_blood_glucose_records_query();//血糖首页信息加
		 Get_lis_of_blood_sugar_records_once_day();//获取某天的血糖记录列表
		 Blood_glucose_history();//获取某天的血糖记录列表
		 Get_medication_record_list();//获取用药记录列表
		 Get_list_of_drug_categories();//获取药品类别列表

		}
		else
		{
				
         lr_output_message("登录失败");
		 
		 lr_end_transaction("login", LR_FAIL);

		
		}
	return 0;
	
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值