loadrunner - 从请求标头中捕获授权令牌
问题描述
我一直在研究一个 Web (HTML/HTTP) 脚本,其中有一个步骤可以通过输入密码来批准某些文档来验证操作。
由于 401 错误,该步骤失败。当深入挖掘时,授权令牌“Authorization:Basic aXRlc3QwMDE6SlZuS1NYU14=”正在通过。
尝试关联它,但由于它是在我单击应用程序中的批准后在客户端生成的,因此无法关联。每次我尝试批准文档时,该值都会发生变化。有没有办法从请求标头中捕获授权值并将其传递到同一个请求中?或者这是 Web 协议的限制?
我添加了此标头,因为我无法关联该值.. web_add_header("Authorization","Basic aXRlc3QwMDE6SlZuS1NYU14=");
这是我得到的错误
“HTTP 状态码 = 401(未经授权),用于“https:****************************”
感谢您的回复!
谢谢,拉克
解决方案
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^
我建议解码来自不同捕获会话的几个样本以了解逻辑,然后确定哪种方法与客户端行为匹配。
推荐阅读
- javascript - 为什么 ObservableArray 对象的访问在子 foreach 中不起作用?
- matlab - 2D 区域最优离散化(分割)
- javascript - 是否可以将 Scratch 项目转换为 Android 应用程序?
- java - Java Swing GUI - 混乱的界面 - 字段未显示
- javascript - 如何通过表单将数据发布到同一html页面中的某个表格单元格
- c - 如何打印字符串中字符的频率?
- kotlin - 有没有一种简单的方法可以在 Kotlin 中创建和使用大量计数器?
- azure - 如何使用powershell从远程zip文件部署functionapp
- php - Mongo查找值中包含撇号的字符串
- azure-storage - 调用函数“格式”失败:在 0 处“%02d”没有足够的参数:需要索引 1 但总共有 0