一微信好友的问题

上周,收到一微信好友的求助:jmeter做自动化,上一个请求返回结果里面有一个链接,这个链接对应了一张图片,下一个请求的入参之一是这张图片base64加密后的字符串。

思路是比较清晰的:先关联获取上一个请求返回的url,然后beanshell获取这张图片的字节流,转换为字节数组,最后进行base64加密获取加密后的字符串。

但是,ta的实现过程还是比较艰辛的,除了基础不够扎实,还遇到了坑,我简单复盘总结下。

jemter脚本

正则提取url

获取图片并加密

请求1返回的结果如下

请求2不成功,对加密后的字符串进行解码,只显示了一部分,怀疑是数据获取不完整。

问题验证

在beanshell中,不建议写过多脚本,因为没有代码提示以及错误提醒,建议在idea中写,然后在beanshell中引用java文件或者jar包的方式,参考:jmeter对入参进行MD5加密的5种方式。加密需要用到commons-codec-1.11.jar,jmeter已经自带,所以,我们可以直接在idea中引用,添加jar包:File——>Project Structure——>Libraries——>New Project Library(+)——>Java——>选择jar包(或者一个路径)——>选择要添加到模块——>最后,还可以为Library自定义一个名称

package com.qzcsbj;import org.apache.commons.codec.binary.Base64;
import java.io.IOException;
import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;/*** @create : 2021/4/12 06:30* @description : <描述>*/
public class GetImageBase64 {public static String getImageBase64(String url) throws MalformedURLException {URL u = new URL(url);InputStream input = null;byte[] bytes = null;try {URLConnection urlConnection = u.openConnection();urlConnection.setConnectTimeout(10*1000);input = urlConnection.getInputStream();int contentLength = urlConnection.getContentLength();System.out.println("contentLength:" + contentLength);int available = input.available();System.out.println("available:" + available);bytes = new byte[available];input.read(bytes);} catch (IOException e) {e.printStackTrace();}return Base64.encodeBase64String(bytes);}public static void main(String[] args) throws MalformedURLException {String url = "https://files-cdn.cnblogs.com/files/uncleyong/qzcsbj.bmp";String imageBase64 = getImageBase64(url);System.out.println(imageBase64);}
}

运行结果:

contentLength:8270
available:2625

说明读取到的字节数比实际的小,查看源码:urlConnection.getInputStream()返回的是InputStream

InputStream是一个抽象类

下面说用bytes = new byte[available];这种创建字节数组的方式是不可以的

但是,如果是读取本地图,用available方法可以,这是为什么呢?FileInputStream继承了抽象类InputStream

InputStream input = new FileInputStream("C:\\Users\\ren\\Desktop\\pic.png");

FileInputStream实现了available方法,最终是通过本地方法available0实现的。

解决方案

使用IOUtils类的copy方法:

package com.qzcsbj.demo;import org.apache.commons.codec.binary.Base64;
import org.apache.tika.io.IOUtils;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;/*** @create : 2021/4/12 06:42* @description : <描述>*/
public class GetImageBase64 {public static String getImageBase64(String url) throws MalformedURLException {URL u = new URL(url);InputStream input = null;byte[] bytes = null;try {URLConnection urlConnection = u.openConnection();urlConnection.setConnectTimeout(10*1000);input = urlConnection.getInputStream();ByteArrayOutputStream output = new ByteArrayOutputStream();IOUtils.copy(input, output);bytes = output.toByteArray();} catch (IOException e) {e.printStackTrace();}return Base64.encodeBase64String(bytes);}public static void main(String[] args) throws MalformedURLException {String url = "https://files-cdn.cnblogs.com/files/uncleyong/qzcsbj.bmp";String imageBase64 = getImageBase64(url);System.out.println(imageBase64);}
}

加密结果:

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oA/qnJwMmjORQRkV/K0CMYoAaetFKetJigD+qiiiigAooooAKKKKAE71/KxX9U/ev5WKAP6pzwOlIDk4xSkZr+VgmgD+qfHsKMewr+ViigD+qfANfys5r+qev5V/SgD+qcdKWkHSloAKQ9KWkPSgD+VoDP4UhGD1ozjNf1TAYFACN0PH5UmfSv5WgcGv6p8Dp2oA/laxxnNNPB61/VOQK/lYJzQB/VMeB0/Kv5XPQ0wHBoyfWgD+qYDIpRxX8rFFAC/jRj3r+qekPSgBAMj/ABpQMdq/lYPWigD+qdunSv5WiMd6b0r+qfvQB/K1jIzmmkYNf1TkZr+VgnNAH9U55pNtfys0UAf1TEkHFfyskYNAOKCcmgD+qckgdK/laKgd/wA6b0r+qfHWgBueenX1pw5HSv5Wc1/VMBigBaKKKACiiigAooooATvX8rFf1T96/lYoA/qor+VftX9U5OK/lZIoASijFGKAP6qK/lX9K/qor+Vf0oA/qnzjFfysEYNf1TFc4pQCABmgAJwMmgHNBPHWv5Wu2PSgD+qXvX8rHSnA47V/VKvTrQAtFJmjNAASB1oByKQjJr+VrI9KAEAya/qnzmkPIIzSYxQB/K3iv6pgc00jnJNOB460ABOBRkEV/KyOvSv6pAOe9AH8rfrX9U3WmEGv5XD16UAJX9U/TNfysV/VORQAtFfysEjPSjPtQAgGTX9U+c0EEgjNJtxQB/KzjJoIwa/ql71/K2eT0/KgD+qev5V+uK/qnzX8rWMUANxQRg1/VKc9f0r+Vsjnp+VAH9U9FFFABRRRQAUUUUAJ3r+Viv6p+9fysUAf1TnmgDFfysUUAf1T49hRj2FfysUUAf1TkkDOM1/KyRjB96QHBoySaAP6px0paQdKWgD+VfNKDk80lHSgD+qU+nr3pw6elfysg1/VMBigD+VgcnrTscdfzpoOK/qmxjNACbsdq/lbIHrR61/VN0oA/lYHJ607HHX86aDiv6psYzQAh9Oa/lbJ56/lSZwaCcmgD+qfFfys5zX9U9fyr+lAH9U+MigACgdKWgD+VcDJr+qXdyRiv5WgcGjOTQA7b3zTSMGv6psZxX8rJOaAP6p6D0r+VigdaAHdu3Ff1SjkdPzoxkUAYGBQB/KyOvWv6pAee9OIyKMACgBMZ60oGO1fysHrRQB/VRRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB//9k=

解码:

解码结果:

请求2也成功了

bak:https://www.cnblogs.com/uncleyong/p/14630129.html

一个jmeter自动化问题(对图片进行Base64、下载图片并保存到本地)相关推荐

  1. python怎么下载图片怎么保存到本地_详解Python下载图片并保存本地的两种方式

    一:使用Python中的urllib类中的urlretrieve()函数,直接从网上下载资源到本地,具体代码: import os,stat import urllib.request img_url ...

  2. android glide本地图片,Glide下载图片并保存到本地

    活不多说 上代码: Observable.create(new ObservableOnSubscribe() { @Override public void subscribe(Observable ...

  3. 『.NET』C#/.NET 下载图片并保存到本地的示例代码

  4. python save保存图片到本地_python爬取网站上的图片并保存到本地

    1.导入需要的模块requests,BeautifulSoup,os(用于文件读写). 2.创建一个类,并初始化. class BeautifulPicture: def __init__(self) ...

  5. php curl 下载图片,CURL实现下载远程图片并保存到本地

    WEB开发中我们经常使用一些简单的采集功能,这样可以自动把远程服务器的图片或资源直接采集保存到本地服务器中:实现下载远程图片并把它保存到本地有很多方法,比如可以直接能过file_get_content ...

  6. [转]使用URLConnection下载文件或图片并保存到本地

    Code import java.io.FileOutputStream;    import java.io.InputStream;    import java.io.OutputStream; ...

  7. php 远程图片大小,PHP下载远程图片并保存到本地方法总结

    这篇文章主要介绍了PHP下载远程图片并保存到本地方法总结的相关资料,需要的朋友可以参考下 1.获取远程文件大小及信息的函数 function getFileSize($url){ $url = par ...

  8. uniapp下载图片并保存到相册

    uniapp如何下载图片并保存到相册 我们要实现的功能是点击下载场馆二维码到手机相册 下面是实现的js代码 settingQrImgBase64(id) {uni.showLoading({title ...

  9. python 编写一段自动下载微信群的聊天记录中的图片并保存到本地的代码

    以下是一段简单的 Python 代码,可以自动下载微信群聊天记录中的图片并保存到本地: import requestsdef download_image(url, file_name):respon ...

最新文章

  1. python入门004~创建属于自己的第一个python3项目~基础知识的讲解
  2. IDEA打开html文件时显示错误browser error提示找不到chrome或者别的浏览器
  3. java 获取当前classpath的绝对路径
  4. 阿里云MVP:如何设计实现一个通用的微服务架构?
  5. 全球第一张中文网络协议分析图——By 成都科来软件
  6. 助成招聘网站——个人项目06
  7. QQ文件上传不了:什么年代了,还使用简单的关键词过滤,智能一点可好
  8. 哪种存储器是非易失的_非易失性存储器
  9. mescroll.js -- 精致的下拉刷新和上拉加载js框架
  10. 在两个电子表格中找出相同的姓名
  11. RequestError Error connect ETIMEDOUT 59.24.3.174443
  12. 说说你印象中比较深刻的 Bug
  13. 常识——多台电脑共用一套键鼠
  14. python从srt文件中只提取歌词
  15. Unity之线性渲染器
  16. FTP客户端代码解析
  17. 猿圈 题库_猿圈帮企业“测评”程序员
  18. PHP使用header实现文件下载功能
  19. 数据安全加密技术分析
  20. centos ifconfig不显示IP地址解决办法之一(亲测有效)

热门文章

  1. u盘格式化的格式及分配单元大小
  2. 在线协作白板背后的核心技术,来看看拍乐云2.0又做了哪些升级?
  3. Android实战-忘记密码案例
  4. 【软件工程基础】结对项目之四则运算题目生成
  5. iOS 音视频开发:Audio Unit播放FFmpeg解码的音频
  6. cloudflare 5秒等待验证逆向破解
  7. 北京10月meetup---drupal首页制作(转)
  8. 计算机音乐毕业论文范文,音乐型毕业论文范文
  9. STM32的RFID智能门禁系统设计
  10. 移动web网站常用MIME类型