jmeter 如何捕获 url 编码值并在不重新编码的情况下发送它
jmeter how to capture an url encoding value and sending it without re-encoding
我遇到一个已经在 url 编码中的值的问题,我捕获它很好,但是当我要发送它时,该值被重新编码...
这是值:
_TSM_CombinedScripts_=%3b%3bSystem.Web.Extensions%2c+Version%3d4.0.0.0%2c+Culture%3dneutral%2c+PublicKeyToken%3d31bf3856ad364e35%3aes type="text/javascript">
我正在使用 RegEx 捕获:
Reference name: RSM
Regular Expression: _TSM_CombinedScripts_=(.+?)" type="text/javascript">
然后我放了一个 BSF 采样器来查看捕获的值,没问题。
但是,当我将值放入 post 方法 (rsmScriptManager_TSM=${RSM}) 中将其发送到服务器的字段中时,该值将再次重新编码,如下所示:
rsmScriptManager_TSM=%253b%253bSystem.Web.Extensions%252c%2BVersion%253d4.0.0.0%252c%2BCulture%253dneutral%252c%2BPublicKeyToken%253d31bf3856ad364e35%253aes
请注意,例如链的开头是:
%253b%253bSystem.Web.Extensions
文字值为:
;;System.Web.Extensions
“;;” url 编码为 %3b%3b,与我捕获它的方式完全相同,但是当将其发送到服务器时,使用 %25
重新编码“%”
而不是 %3b%3b 值发送 %253b%253:
%253b%253bSystem.Web.Extensions
并对“+”等其他字符执行相同操作
我该如何解决这个问题?
确保您没有为提取的请求参数勾选 Encode?
框
还有一个 __urldecode 函数可以提供帮助。
有关 __urldecode 和其他有用的 JMeter 函数的更多信息,请查看 How to Use JMeter Functions 帖子系列
我遇到一个已经在 url 编码中的值的问题,我捕获它很好,但是当我要发送它时,该值被重新编码... 这是值:
_TSM_CombinedScripts_=%3b%3bSystem.Web.Extensions%2c+Version%3d4.0.0.0%2c+Culture%3dneutral%2c+PublicKeyToken%3d31bf3856ad364e35%3aes type="text/javascript">
我正在使用 RegEx 捕获:
Reference name: RSM
Regular Expression: _TSM_CombinedScripts_=(.+?)" type="text/javascript">
然后我放了一个 BSF 采样器来查看捕获的值,没问题。
但是,当我将值放入 post 方法 (rsmScriptManager_TSM=${RSM}) 中将其发送到服务器的字段中时,该值将再次重新编码,如下所示:
rsmScriptManager_TSM=%253b%253bSystem.Web.Extensions%252c%2BVersion%253d4.0.0.0%252c%2BCulture%253dneutral%252c%2BPublicKeyToken%253d31bf3856ad364e35%253aes
请注意,例如链的开头是:
%253b%253bSystem.Web.Extensions
文字值为:
;;System.Web.Extensions
“;;” url 编码为 %3b%3b,与我捕获它的方式完全相同,但是当将其发送到服务器时,使用 %25
重新编码“%”而不是 %3b%3b 值发送 %253b%253:
%253b%253bSystem.Web.Extensions
并对“+”等其他字符执行相同操作
我该如何解决这个问题?
确保您没有为提取的请求参数勾选 Encode?
框
还有一个 __urldecode 函数可以提供帮助。
有关 __urldecode 和其他有用的 JMeter 函数的更多信息,请查看 How to Use JMeter Functions 帖子系列