我直接贴代码吧。感觉这些东西都比较简单,就是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; }