使用JMeter提取响应中的十六进制编码值(Regular expression extractor失效)
解决从响应片段中提取目标十六进制值的问题
别慌,其实正则提取器完全能搞定这个需求,大概率是你之前的正则表达式没写对路子!先帮你把那段转义后的响应片段还原成实际可读的文本:
ui2CacheBusterToken":"634CBF4C3DF8E63212283094EA2EA118C"
你要提取的十六进制值634CBF4C3DF8E63212283094EA2EA118,刚好夹在两个波浪号~之间,前后还有固定的文本标识,我们可以利用这个特征来写精准的正则:
方案1:精准匹配固定上下文
如果是用JMeter这类工具的正则表达式提取器,直接用下面的正则:
ui2CacheBusterToken":"~([0-9A-F]+)~C"
然后设置:
- 模板:
$1$(提取第一个分组的内容) - 匹配数字:
1(取第一个匹配结果)
这样就能准确拿到目标的十六进制值。
方案2:通用匹配十六进制串
要是你不想依赖前后的固定文本,只需要提取两个波浪号之间的32位十六进制字符(目标值刚好是32位),可以用这个更简洁的正则:
~([0-9A-F]{32})~
同样提取第一个分组的内容即可。
内容的提问来源于stack exchange,提问作者utkarshg14
相关产品推荐
相关产品推荐

