zoukankan      html  css  js  c++  java
  • jmeter接口测试--响应结果Unicode转码成中文

    jmeter接口测试-响应结果Unicode转码成中文

    一般情况下,接口返回数据都会经过加密,所以有时相应结果会显示为Unicode,因此,需添加BeanShell PostProcessor,加入代码将其转为中文

    1.线程中添加BeanShell PostProcessor

    2.添加代码    

    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());

    如图:

  • 相关阅读:
    聊聊“装箱”在CLR内部的实现
    Jenkins多环境持续集成架构实践
    .NET Core 学习资料精选:进阶
    .NET Core 学习资料精选:入门
    Docker 常用命令(.NET Core示例)
    Vistual Studio 安装、Sql Server 安装
    .NET项目迁移到.NET Core操作指南
    站点部署,IIS配置优化指南
    .NET Core开源:IIS集中化Web管理工具
    jenkins:一键回滚站点集群
  • 原文地址:https://www.cnblogs.com/zy-tester/p/9593408.html
Copyright © 2011-2022 走看看