zoukankan      html  css  js  c++  java
  • Jmeter解决乱码问题

    一、设置编码方式utf-8并勾选编码

    适用场景:参数中含有中文或乱码

    二、增加beanshell脚本

    添加BeanShell PostProcessor或者BeanShell Sampler,输入代码prev.setDataEncoding("utf-8");

    适用场景:第一种方法不管用时,或者没有参数时,例如百度首页。

    如果返回结果是json乱码

    beanshell脚本如下

    String s=new String(prev.getResponseData(),"UTF-8");
    char aChar;
    int len= s.length();
    StringBuffer outBuffer=new StringBuffer(len);
    for(int x =0; x <len;){
        aChar= s.charAt(x++);
        if(aChar=='\'){
            aChar= s.charAt(x++);
            if(aChar=='u'){
                int value =0;
                for(int i=0;i<4;i++){
                    aChar= s.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());

    三、修改jmeter配置文件

    修改jmeter.properties配置文件,找到encoding,去掉前面的#。保存重启jmeter

  • 相关阅读:
    padding magin 盒子模型
    background元素背景--font字体
    border 边框
    浅析mvvm模式和mvc模式的区别和联系
    Win10下小米路由器4A百兆版刷Openwrt固件【图片详细版】
    Vue源码-手写mustache源码
    微信小程序支付实现流程
    Fiddler对安卓模拟器中的app抓包
    Niginx中Vue Router 历史(history)模式的配置
    ES6中Promise方法详解
  • 原文地址:https://www.cnblogs.com/loveapple/p/10032322.html
Copyright © 2011-2022 走看看