在应用程序中我测试用户登录后更改了真实性令牌 - 所以我必须提取令牌两次(登录时一次,登录后第二次)。我使用正则表达式提取器。
第一次(登录时)它运行正常。
第二次(登录后)它不会提取新令牌 - 后续POST正在发送给定的参考名称(来自正则表达式提取器)而不是提取的令牌。
我在两个提取器中使用不同的引用名称。两个页面都具有相同的源,并且令牌以相同的方式定义:
<meta content="authenticity_token" name="csrf-param" />
<meta content="g/bsiegqqexUreoJdRbogKSpw6ZJ7O86fEUPESolrpc=" name="csrf token" />
所以我在两种情况下使用相同的正则表达式:
name="authenticity_token".*value="(.+)"
但是,正如我所说,它仅适用于第一个令牌。
任何帮助表示感谢并提前致谢
答案 0 :(得分:1)
简单don't use regular expressions to parse HTML。响应,换行符,空格,属性顺序更改等任何轻微的标记更改都没有得到任何结果。
您有两个非常漂亮的PostProcessor,用于处理HTML响应类型:
相关配置如下:
meta[name=csrf token]
content
//meta[@name='csrf token']/@content
Use Tidy (tolerant parser)
框