我直接贴代码吧。感觉这些东西都比较简单,就是C的语法不懂,不过都是网上找的。
void web_reg_save_param_custom(char *sourceStr, char* outpuStr, char *leftBdry, char *rightBdry){
char *st1, *st2;
int result, i = 0;
i=strlen(leftBdry);
st1 = (char*) strstr(sourceStr, leftBdry);
if (st1 != NULL){
st1 += i;
st2 = (char*) strstr(st1, rightBdry);
if (st2 != NULL){
result = st2 - st1;
*(st1 + result) = '\0';
}
}
if ((st1 == NULL) || (st2 == NULL))
lr_error_message("Error: No substring found for the specified boundary");
else
lr_save_string(lr_eval_string(st1), outpuStr);
}
test()
{
lr_think_time(1);
web_set_max_html_param_len("262144"); // 默认最大长度为256
web_reg_save_param("ResponseBody", "LB=", "RB=", "Search=Body", LAST);
web_save_header(REQUEST, "RequestHeader");// REQUEST为内置变量,保存请求的头信息,需在发送URL请求前注册使用,将请求头信息存入字符串RequestHeader中
web_save_header(RESPONSE, "ResponseHeader");// 将RESPONSE保存响应的头信息在字符串ResponseHeader中
web_submit_data("login.jsp",
"Action=https://t-passport3.pcbaby.com.cn/passport3/passport/login.jsp",
"Method=POST",
"RecContentType=text/html",
"Referer=http://t-passport3.pcbaby.com.cn/passport3/",
"Snapshot=t190.inf",
"Mode=HTTP",
ITEMDATA,
"Name=username", "Value=fish", ENDITEM,
"Name=password", "Value=123456test", ENDITEM,
LAST);
//字符转码
lr_convert_string_encoding(lr_eval_string("{RequestHeader}"),LR_ENC_UTF8,LR_ENC_SYSTEM_LOCALE,"RequestHeaderUTF8");
lr_convert_string_encoding(lr_eval_string("{ResponseHeader}"),LR_ENC_UTF8,LR_ENC_SYSTEM_LOCALE,"ResponseHeaderUTF8");
lr_convert_string_encoding(lr_eval_string("{ResponseBody}"),LR_ENC_UTF8,LR_ENC_SYSTEM_LOCALE,"ResponseBodyUTF8");
lr_save_string(lr_eval_string("{ResponseHeader}"),"test");
lr_output_message("# 请求头信息:\n %s",lr_eval_string("{test}"));
web_reg_save_param_custom(lr_eval_string("{test}"), "Outputtest", "common_session_id1=","; domain=");
lr_output_message("切割后的值=%s",lr_eval_string("{Outputtest}"));
/*
lr_save_string("xyzToken3234344endKey,","test");
*/
return 0;
}