Dep*_*epy 36 authorization jmeter http-authentication
我试图暗示使用JMeter的Web服务的基本身份验证过程.但每次它抛出错误401:未经授权.我尝试使用HTTP标头管理器向其添加标头授权和值.它仍然无效.我也尝试过使用HTTP授权管理器.仍然没有运气.有人可以帮忙吗
yur*_*rko 33
2017年8月19日编辑JMeter 3.2:
基本上要绕过基本授权,您需要添加值为Basic base64(用户名:密码)的Authorization标头.问题是JMeter没有嵌入base64功能.
解决方案是:
Step1添加BeanShell预处理器(预处理器 - > BeanShell预处理器)
步骤2将以下脚本添加到PreProcessor
import org.apache.commons.codec.binary.Base64;
byte[] encodedUsernamePassword = Base64.encodeBase64("neo4j:1234".getBytes());
vars.put("base64HeaderValue",new String(encodedUsernamePassword));
Run Code Online (Sandbox Code Playgroud)
步骤3添加HTTP标头管理器
步骤4添加具有正确值的Authorization标头
标题名称授权
标题值Basic $ {base64HeaderValue} (base64HeaderValue变量由BeanShell预处理器初始化)
因此,最后当您创建http请求时,Authorization标头将以base64编码的字符串传递给服务器
请执行下列操作:
1/正确配置HTTP授权管理器以及所有必填字段
2 /选项1:使用HTTP 4 :(默认)
从JMeter 3.2开始,无需使用授权管理器进行任何进一步配置
选项2:使用HTTP 3.1 :(已弃用)
在jmeter.properties中,取消注释:
httpclient.parameters.file=httpclient.parameters
Run Code Online (Sandbox Code Playgroud)在httpclient.parameters中,取消注释:
http.authentication.preemptive$Boolean=true
Run Code Online (Sandbox Code Playgroud)| 归档时间: |
|
| 查看次数: |
48964 次 |
| 最近记录: |