• jmeter响应的二进制数据转化为中文


    有时候得到的响应数据为unicode的,需要转码,步骤如下:

    一、添加后置处理器

    二、在script处输入代码

    代码如下:

    //获取响应代码Unicode
    String s2=new String(prev.getResponseData(),"UTF-8");
    //转码过程
    char aChar;
    int len= s2.length();
    StringBuffer outBuffer=new StringBuffer(len);
    for(int x =0; x <len;){
    aChar= s2.charAt(x++);
    if(aChar=='\'){
    aChar= s2.charAt(x++);
    if(aChar=='u'){
    	int value =0;
    	for(int i=0;i<4;i++){
    		aChar= s2.charAt(x++);
    		switch(aChar){
    			case'0':
    			case'1':
    			case'2':
    			case'3':
    			case'4':
    			case'5':
    			case'6':
    			case'7':
    			case'8':
    			case'9':
    				value=(value <<4)+aChar-'0';
    				break;
    			case'a':
    			case'b':
    			case'c':
    			case'd':
    			case'e':
    			case'f':
    				value=(value <<4)+10+aChar-'a';
    				break;
    			case'A':
    			case'B':
    			case'C':
    			case'D':
    			case'E':
    			case'F':
    				value=(value <<4)+10+aChar-'A';
    				break;
    			default:
    				throw new IllegalArgumentException(
    						"Malformed   \uxxxx  encoding.");}}
    	outBuffer.append((char) value);}else{
    	if(aChar=='t')
    		aChar='	';
    	else if(aChar=='r')
    	aChar='
    ';
    	else if(aChar=='n')
    	aChar='
    ';
    	else if(aChar=='f')
    	aChar='f';
    	outBuffer.append(aChar);}}else
    outBuffer.append(aChar);}
    //将转成中文的响应结果在查看结果树中显示
    prev.setResponseData(outBuffer.toString());

    最后,收工!

  • 相关阅读:
    工作那些事(四)大公司VS小公司
    HTTP Keep-Alive详解
    Burp Suite Walkthrough(英文版)
    Burp Suite Walkthrough(中文版)
    Burp Suite教程(英文版)
    XSS之学习误区分析
    工具猫魔盒介绍
    XSS脚本攻击漫谈
    WEB黑客工具箱之FireBug介绍
    WEB黑客工具箱之LiveHttpHeaders介绍
  • 原文地址:https://www.cnblogs.com/zhaoquanmo/p/10484562.html
Copyright © 2020-2023  润新知