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("\r|\n", "");
        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、搞定。

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM