1. 程式人生 > >用戶驗證碼

用戶驗證碼

ppi int earch appid out nbsp true 失敗 cati

Action()
{
 
    //定義Md5變量用來存放使用md5加密後的字符串
	char Md5[33];
 
	//存放包含用戶登錄信息的URL
	char str[174];	
 
	//存放用戶賬戶信息
	char str1[92];
	//存放當前時間
	int t1;
 
    int a;
	
	char Message[50];
	//把持續的秒數放入t1變量中
	t1=time();
 
	//把t1中存儲的值賦值給time1變量
	lr_save_int(t1,"time1");
 
	//使用lr_eval_string函數獲取變量的值,並把值賦值給str1變量
	strcpy(str1,lr_eval_string("account={code}.pt&appId=1002&code={code}&gameId=89&ip={用戶IP}×tamp={time1}cb29fca01dbtk7a29np0lp59yl6hd258"));
	lr_output_message(str1);
	//把str1進行md5加密,並把加密完的字符串賦值給Md5變量
	GetMd5FromString(str1,Md5);
	//重新生成並包含sign”=“Md5中包含的值的URL字符串放入str變量中
	sprintf(str,"URL=http://{服務器IP}/api/Character/ValidateCode?account={code}.pt&appId=1002&code={code}&gameId=89&ip={用戶IP}×tamp={time1}&sign=%s",Md5);
 
	//進行手動關聯,獲取動態信息,並把動態信息保存到Message變量中
	web_reg_save_param("Message", 
		"LB/IC=Message\":\"", 
		"RB/IC=\"", 
		"Ord=1", 
		"Search=Body", 
		"RelFrameId=1", 
		LAST);
 
    //開始驗證事務
	lr_start_transaction("驗證成功");
	lr_start_transaction("驗證失敗");
 
    //獲取驗證碼數據包
	web_url("ValidateCode", 
		
		str,//獲取驗證碼URL鏈接
		"Resource=1", 
		"RecContentType=application/xml", 
		"Referer=", 
		"Snapshot=t5.inf", 
		LAST);
 
 
 
    //使用lr_eval_string函數獲取變量{Message}的值,並把值賦值給Message變量
	strcpy(Message,lr_eval_string("{Message}"));
	//輸出Message信息
    lr_output_message(Message);
 
    //調用strcmp函數把Message中存儲的值和“success”進行比較
	//把比較結果賦值給變量a
    a=strcmp(Message,"success");
 
 
    //判斷a的值,如果a==0則“success”
	if (a == 0) 
	{
 
		//結束驗證成功事務了,並自動設置事務狀態(PASS or FAIL)
		lr_end_transaction("驗證成功", LR_AUTO);
 
		//把持續的秒數放入t1變量中
		t1=time();
 
		//把t1中存儲的值賦值給time1變量
		lr_save_int(t1,"time1");
 
	   //使用lr_eval_string函數獲取變量的值,並把值賦值給str1變量
		strcpy(str1,lr_eval_string("account={code}.pt&appId=1002&code={code}&gameId=89&ip={用戶IP}×tamp={time1}cb29fca01dbtk7a29np0lp59yl6hd258"));
		lr_output_message(str1);
		//把str1進行md5加密,並把加密完的字符串賦值給Md5變量
		GetMd5FromString(str1,Md5);
		//重新生成並包含sign”=“Md5中包含的值的URL字符串放入str變量中
		sprintf(str,"URL=http://{服務器IP}/api/Character/UseCode?account={code}.pt&appId=1002&code={code}&gameId=89&ip={用戶IP}×tamp={time1}&sign=%s",Md5);
 
		//進行手動關聯,獲取動態信息,並把動態信息保存到Message變量中
		web_reg_save_param("Message", 
			"LB/IC=Message\":\"", //左邊界開始為“Message“:””
			"RB/IC=\"",//右邊界為““”
			"Ord=1", 
			"Search=Body", 
			"RelFrameId=1", 
			LAST);
 
		//開始使用事務
		lr_start_transaction("使用成功");
		lr_start_transaction("使用失敗");
 
		//獲取驗證碼數據包
		web_url("ValidateCode", 
			
			str,//獲取驗證碼URL鏈接
			"Resource=1", 
			"RecContentType=application/xml", 
			"Referer=", 
			"Snapshot=t5.inf", 
			LAST);	
 
 
 
		//使用lr_eval_string函數獲取變量{Message}的值,並把值賦值給Message變量
		strcpy(Message,lr_eval_string("{Message}"));
		lr_output_message(Message);
 
		//調用strcmp函數把Message中存儲的值和“success”進行比較
		//把比較結果賦值給變量a
		a=strcmp(Message,"success");
 
 
		//判斷a的值,如果a==0則“success”
		if (a == 0) {
			//結束使用成功事務了,並自動設置事務狀態(PASS or FAIL)
			lr_end_transaction("使用成功", LR_AUTO);
		}
		else{
			//結束使用失敗事務了,並自動設置事務狀態(PASS or FAIL)
			lr_end_transaction("使用失敗", LR_AUTO);
		}
 
	}
 
	else 
	{
		//結束驗證失敗事務了,並自動設置事務狀態(PASS or FAIL)
		lr_end_transaction("驗證失敗", LR_AUTO);
	}
 
 
	return 0;
}
 

  

用戶驗證碼