当前位置: 首页 > news >正文

在网站上做承诺书sem优化公司

在网站上做承诺书,sem优化公司,一般设计网站页面用什么软件做,做网站需要的带宽上行还是下行一、何为base64加密版pdf文件 如下图所示,接口jmeter执行后,返回一串包含大小写英文字母、数字、、/、的长字符串,直接另存为pdf文件后,文件有大小,但是打不开;另存为doc文件后,打开可以看到和…

一、何为base64加密版pdf文件

如下图所示,接口jmeter执行后,返回一串包含大小写英文字母、数字、+、/、=的长字符串,直接另存为pdf文件后,文件有大小,但是打不开;另存为doc文件后,打开可以看到和接口响应一致的长字符串。

仔细查看该接口具体信息,感觉和ContentType: application/octet-stream、Content-Disposition: form-data; name="attachment"; filename="1664(xxxxxxx).pdf"这两个字段有关系,各种百度后,发现ContentType: application/octet-stream是告诉浏览器返回的内容是二进制字节流,浏览器处理字节流的默认方式是下载,在文件下载场景中,接口返回的内容是文件流,设置Content-Disposition: form-data; name="attachment"; filename="1664(xxxxxxx).pdf"后,浏览器会进行下载,且下载的文件名称为 1664(xxxxxxx).pdf。


Application/octet-stream是应用程序文件的默认值。意思是未知的应用程序文件,浏览器一般不会自动执行或询问执行。浏览器会像对待,设置了HTTP头Content-Disposition值为attachment的文件一样来对待这类文件,即浏览器会触发下载行为。

参考的链接:application/octet-stream-CSDN博客、HTTP请求头Content-Type总结说明_content-type: application/octet-stream-CSDN博客

从上可知,接口返回后浏览器需要进行一些操作,若想jmeter直接将响应另存为文件,百度了下可以添加BeanShell PostProcessor组件,获取接口响应结果,另存为pdf文件,结果另存的pdf文件打不开,但是显示大小为480KB,这是为啥呢?

接口响应这么一长串字符串,百度百度,感觉该长字符串是base64加密了,向开发确认后,开发提供了一个在线base64编码转pdf的网页,第一次将响应内容粘贴进去,点击查看pdf后,看不到pdf文件,将长字符串两端的双引号删除后,再次点击查看pdf后,pdf显示正常了;在线base64编码转pdf的网页链接如下:Base64 to PDF | Base64 Decode | Base64 Converter | Base64Convert Base64 to PDF online using a free decoding toolicon-default.png?t=N7T8https://base64.guru/converter/decode/pdf那么,怎么jmeter接口调用成功后,另存为pdf文件呢——需要进行base64解密,最开始使用byte[] decoder = Base64.getDecoder().decode(b64);进行解密,执行到该行后,抛出异常了,百度异常后,说是参数异常,各种百度,没能够得到解决, 最后发现一篇可能是jdk版本不同解密方法不同引发的,使用byte[] decoder = Base64.getMimeDecoder().decode(b64)试试看,哇我解密成功,另存的pdf打开正常。

参照的链接:application/octet-stream-CSDN博客

二、base64解密另存为pdf文件

如下图所示,在需要下载pdf文件的接口下,添加BeanShell PostProcessor组件,获取接口响应结果,进行base64解密后,另存为pdf文件。

如上图所示,点击右上角的log面板图标,可以打开log面板,log.info、log.error可以给jmeter log面板输出自己需要显示的调试信息,以便调试代码,具体的代码如下。

import java.io.File;
import java.util.Base64;
import java.io.FileOutputStream;//获取接口响应结果
//String responseData = prev.getResponseDataAsString();
byte[] responseData1 = prev.getResponseData();//定义导出pdf文件目录及文件名称
private String filePath = "D:/Tools/apache-jmeter-5.4.1/workspace/导出-${index}.pdf"; 
File file = new File(filePath);
FileOutputStream fos = new FileOutputStream(file);
try {//log.info("----------1------------");//log.info("--------"+new String(responseData1)+"--------");//将获取的接口响应结果进行base64解密byte[] decoder = Base64.getMimeDecoder().decode(responseData1);//log.info("----------2------------");//将解密结果写入pdf文件fos.write(decoder);//log.info("-------PDF File Saved---------");
} catch (Exception e) {log.error("------error------------",e);
} finally {if (fos != null) {fos.close();fos = null;}
}

http://www.dinnco.com/news/26590.html

相关文章:

  • 做网站的财务会涉及到的科目宁德seo推广
  • 硅谷电视剧他们做的是网站还是软件培训学校管理制度大全
  • DW怎么做招聘网站泸州网站优化推广
  • 推广网站怎么建设seo服务优化
  • 网站程序包括数据库和网页程序seo同行网站
  • 知名网站设计欣赏百度流量
  • 一个人可以做网站软文标题例子
  • 广州建设信息网官方网站seo服务指什么意思
  • 长沙做网站的公司引流推广营销
  • 安卓上搭建wordpress谷歌优化是什么意思
  • 网站建设出售百度推广客户端教程
  • 无备案网站加速软件培训班学费多少
  • 精准营销的作用seo快速优化
  • 电子商务网站制作公司seo网络推广到底是做什么的
  • 广州网站制作企业百度智能建站系统
  • 海宁长安网站开发优化软件seo排名
  • 网站建设作用免费推广网站推荐
  • 帮别人做高仿产品网站 违法么平台引流推广怎么做
  • 企业网站建设教程 pdfseo网络营销推广排名
  • 中国建设监理协会网站继续教育武汉seo关键字优化
  • 南京做企业网站杭州网络推广网络优化
  • 网页设计实训报告思考建议兰州网站优化
  • 哪里有学编程的培训班亚马逊关键词快速优化
  • 做身份证网站2345浏览器网页版
  • 注册公司名称用什么名字好安卓优化清理大师
  • 网站建设和运行遇到的问题网站制作推广
  • 上海定制网站建设公司哪家好拉新推广
  • 机械门户网站建设特点长沙百度快照优化排名
  • golang 做网站网站做外链平台有哪些
  • 做面食网站网站排名推广