问题描述
我正在使用jMeter对网站进行压力测试。我需要将变量的值传递给下一个请求。
可以在响应正文中看到该值:
var _data = {};
_data["_as_csrf_token"] = "64da5d341c253c2a181796d2524e57c6502d906b";
jQuery.ajaxSetup({ data: _data,type: "POST" });
解决方法
最简单的方法是使用边界提取器:
设置为:
data [“ _ as_csrf_token”] =“
并有权:
“;
如果要使用正则表达式提取器,请使用:
,data \ [“ _ as_csrf_token” \] =“ [^”] +?“;
相关的正则表达式为:
_data\["_as_csrf_token"\] = "(\w+)";
演示:
- 您需要先逃脱meta characters
-
\w
是character class的单词字符(字母数字,不区分大小写) -
+
是重新定位
更多信息:
,请使用以下字符串通过ReEx Extractor提取数据。
_data\[\"_as_csrf_token\"\] \= \"(.+?)\"\;
如下面的屏幕截图所示
如果您担心要提取的数据。我建议使用https://regexr.com/之所以喜欢这个网站,是因为它也可以帮助您编写备忘单。
第二个问题,为什么(。+?)为什么没有其他内容? 原因是它匹配模式中的每种文本。无需担心特殊字符。