从请求标头捕获授权令牌

时间:2019-11-05 05:25:51

标签: loadrunner

我一直在研究Web(HTML / HTTP)脚本,其中有一个步骤,通过输入密码来批准某些文档来验证操作。

由于401错误,该步骤失败。 深入研究时,将通过授权令牌“ Authorization:Basic aXRlc3QwMDE6SlZuS1NYU14 =“。

尝试将其关联,但是由于它是在我在应用程序中单击“批准”后在客户端生成的,因此无法将其关联。 每当我尝试批准文档时,值都会更改。 有什么方法可以从请求标头中捕获授权值并将其传递到同一请求中? 还是这是Web协议的局限性?

我添加了此标头,因为我无法关联该值。 web_add_header(“ Authorization”,“ Basic aXRlc3QwMDE6SlZuS1NYU14 =”);

这是我得到的错误

“ HTTP状态代码= 401(未经授权),用于“ https:***********************”

感谢您的回应!

谢谢, 拉克

1 个答案:

答案 0 :(得分:1)

Web HTTP / HTML协议基于web_set_user API提供的凭据来构建Authorization标头,作为对HTTP 401状态的响应。

web_set_user("<username>", "<password> ", "<server>:<port>");

此标头的结构取决于身份验证类型(基本,NTLM,摘要或协商)。 我们可以选择预先发送此类标头(强制身份验证),而无需从服务器接收HTTP 401(例如,强制基本身份验证,我们可以使用web_set_sockets_option("INITIAL_AUTH", "Basic");步骤。

提供凭据的另一种方法是web_add_header API。 像:web_add_header("Authorization", " Basic aXRlc3QwMDE6SlZuS1NYU14=");

基本身份验证令牌是base64编码的字符串,其中包括“:”组合…

对于上面的示例-itest001:JVnKSXS ^

我建议对来自不同捕获会话的几个样本进行解码,以了解其逻辑,然后确定哪种方法与客户端行为相匹配。