我们可以有选择地禁用重定向(根据特定请求)加特林
Can we disable redirects selectively (On specific requests) gatling
我的 Http 协议,我在其中设置 disableFollowRedirects。但是,我正在进行一个 get 调用,我希望执行遵循重定向。我们能做到吗?我尝试了 disableProtocolChecks 但它不起作用
.baseUrl(brokerHost)
.acceptHeader("text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8") // Here are the common headers
.acceptEncodingHeader("gzip, deflate")
.acceptLanguageHeader("en-US,en;q=0.5")
.upgradeInsecureRequestsHeader("1")
.userAgentHeader("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36")
.disableFollowRedirect
对于这个请求,我想执行重定向
.exec(http("Post SAML request to IDP")
.post(/authentication/SSOPOST/")
.check(status.is(302))
.check(header("Location").saveAs("redirecturl"))
)
不,目前(从 gatling 3.4 开始)不可能,无论是哪种方式(全局禁用和 re-enable 局部)或另一种方式(全局启用和局部禁用)。在请求级别无法控制 followRedirect 行为。
现在,你能解释一下为什么你能做到吗?
通常,人们想要禁用 followRedirect
,因为他们认为他们应该在重定向响应中捕获 Location
响应 header,以便他们可以从着陆页捕获数据 url.
这是错误的。相反,他们应该启用 followRedirect
并使用 currentLocation
和 currentLocationRegex
检查。
实际上,我们正在考虑删除 disableFollowRedirect
选项,除非我们确实有令人信服的理由不这样做。
我的 Http 协议,我在其中设置 disableFollowRedirects。但是,我正在进行一个 get 调用,我希望执行遵循重定向。我们能做到吗?我尝试了 disableProtocolChecks 但它不起作用
.baseUrl(brokerHost)
.acceptHeader("text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8") // Here are the common headers
.acceptEncodingHeader("gzip, deflate")
.acceptLanguageHeader("en-US,en;q=0.5")
.upgradeInsecureRequestsHeader("1")
.userAgentHeader("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36")
.disableFollowRedirect
对于这个请求,我想执行重定向
.exec(http("Post SAML request to IDP")
.post(/authentication/SSOPOST/")
.check(status.is(302))
.check(header("Location").saveAs("redirecturl"))
)
不,目前(从 gatling 3.4 开始)不可能,无论是哪种方式(全局禁用和 re-enable 局部)或另一种方式(全局启用和局部禁用)。在请求级别无法控制 followRedirect 行为。
现在,你能解释一下为什么你能做到吗?
通常,人们想要禁用 followRedirect
,因为他们认为他们应该在重定向响应中捕获 Location
响应 header,以便他们可以从着陆页捕获数据 url.
这是错误的。相反,他们应该启用 followRedirect
并使用 currentLocation
和 currentLocationRegex
检查。
实际上,我们正在考虑删除 disableFollowRedirect
选项,除非我们确实有令人信服的理由不这样做。