首页 > 解决方案 > 从请求标头中捕获授权令牌

问题描述

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

由于 401 错误,该步骤失败。当深入挖掘时,授权令牌“Authorization:Basic aXRlc3QwMDE6SlZuS1NYU14=”正在通过。

尝试关联它,但由于它是在我单击应用程序中的批准后在客户端生成的,因此无法关联。每次我尝试批准文档时,该值都会发生变化。有没有办法从请求标头中捕获授权值并将其传递到同一个请求中?或者这是 Web 协议的限制?

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

这是我得到的错误

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

感谢您的回复!

谢谢,拉克

标签: loadrunner

解决方案


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

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

此标头的结构取决于身份验证类型(基本、NTLM、摘要或协商)。我们可以选择在不从服务器接收 HTTP 401 的情况下提前发送此类标头(强制身份验证)(例如,为了强制基本身份验证,我们可以使用web_set_sockets_option("INITIAL_AUTH", "Basic");step.

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

基本身份验证令牌是包含“:”组合的 base64 编码字符串...</p>

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

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


推荐阅读