我需要在JMeter中正确解析真实性令牌,其中包含+
,/
和空格,如下所示......
<meta content="authenticity_token" name="csrf-param" />
<meta content="kJ+AzaV/saCxK+F4Ibh6LeEqH8rpiGZfyRKn3RGX960=" name="csrf-token" />
我有一个“正则表达式提取器”和正则表达式看起来像..
meta content="([^"]+)" name="csrf-token" />
问题是/
被%2F
取代而=
最后被替换为%3D
和
kJ+AzaV%2FsaCxK+F4Ibh6LeEqH8rpiGZfyRKn3RGX960%3D
如何正确解析真实性令牌?
答案 0 :(得分:0)
您的属性看起来像 URI编码,所以在尝试执行更多操作之前,您需要对其进行解码
window.decodeURIComponent('kJ+AzaV%2FsaCxK+F4Ibh6LeEqH8rpiGZfyRKn3RGX960%3D');
// "kJ+AzaV/saCxK+F4Ibh6LeEqH8rpiGZfyRKn3RGX960="
此外,使用 RegExp 从 HTML 或 XML 中提取数据并不总是最好的想法,也许您可以尝试解析它通过 DOM树访问您想要的节点和属性。
答案 1 :(得分:0)
如果您将其作为参数传递,只需取消“编码?”它的盒子。
如果您需要像Paul S.建议的那样通过JavaScript解码,请考虑使用__javaScript函数,如下所示:
${__javaScript(decodeURIComponent("${YOUR_VARIABLE_NAME_HERE}"),)}
有关详细信息,请参阅How to Use JMeter Functions帖子系列。