• jmeter(图片进行base64加密发送)


    操作系统:Windows

    jmeter版本:5.1.1

    说明:这个项目需要对图片进行base64加密发送请求

    1、自己使用eclipse编写一个base64的加密代码(可以找开发或百度),导出为 jar 包,本人只是加密图片,代码如下:

    package com.mytest.functions;
    
    import java.io.FileInputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import sun.misc.BASE64Encoder;
    
    public class Base64Test {
        // 图片转化成base64字符串
        public static String GetImageStr(String file) {
            // 将图片文件转化为字节数组字符串,并对其进行Base64编码处理
            String imgFile = file; // 待处理的图片
            InputStream in = null;
            byte[] data = null;
            // 读取图片字节数组
            try {
                in = new FileInputStream(imgFile);
                data = new byte[in.available()];
                in.read(data);
                in.close();
            }
            catch (IOException e){
                e.printStackTrace();
            }
            // 对字节数组Base64编码
            BASE64Encoder encoder = new BASE64Encoder();
            return encoder.encode(data);// 返回Base64编码过的字节数组字符串
        }
        
        public String GetData(String file) {
            // windows平台需要转换‘’该转义符
            String filedata = file.replaceAll("%2F%2F", "%2F"); 
            // 因编码出来不是在一行上,所以需要处理掉换行符
            String data = GetImageStr(filedata).replaceAll("
    |
    ", "");
            return data;
            
        }
    }

    2、在jmeter的lib目录新建一个文件夹myjar,把导出的jar包放进去,然后进入bin目录里,找到jmeter.properties文件,用文本编辑器打开。

    添加以下路径,点击保存

    3、启动jmeter

    4、添加一个线程组,在后置处理器里,添加BeanShell后置处理程序,编写以下代码:

    import com.mytest.functions.*;  // 导入的包名
    
    Base64Test da = new Base64Test();  // 新建一个对象
    
    String data = da.GetData("${filepath}");  // fiepath是图片路径,使用csv数据文件导入
    
    vars.put("base64image", data); // base64image 是被引用的参数

    注意:

      使用CSV 数据文件设置读取图片数据,读取路径格式为:(因Windows平台问题)

    5、添加一个http请求,引用加密参数

    5、添加一个--查看结果树,点击运行,查看结果树,即可在请求中加密成功。

    6、搞定。

     

  • 相关阅读:
    linux ss 命令
    linux netstat 命令
    linux firewalld 命令
    linux sshd 服务
    linux rysnc 命令(远程复制)
    linux scp 命令
    linux ifconfig
    linux /var/log 日志文件
    linux systemctrl 命令
    linux 创建新用户并设置管理员权限
  • 原文地址:https://www.cnblogs.com/zhaoquanmo/p/11238891.html
Copyright © 2020-2023  润新知