postman自動生成簽名

查看詳細圖文教程↓json

1、全局變量方式api

1. 在全局變量添加key:value分別是autoSign和var sign={toUnicode:function(s){return s.replace(/([\u4E00-\u9FA5]|[\uFE30-\uFFA0])/g,function(newStr){return"\\u"+newStr.charCodeAt(0).toString(16)})},run:function(token){if(typeof token=="undefined"){token="6fe383bcacc";if(globals.defaultToken){token=globals.defaultToken}}var self=this;var tmpArr={};var reqData=request.data;if(_.isString(reqData)){var reqType=request.headers['Content-Type'];if(_.endsWith(reqType,'json')){reqData=JSON.parse(reqData)}else if(_.endsWith(reqType,'xml')){reqData=xml2Json(reqData).xml}}if(_.isArray(reqData)){reqData=_.sortByOrder(reqData,["key"],['asc']);_(reqData).forEach(function(item){if(!item.disabled){if(_.isString(item.value)){item.value=self.toUnicode(item.value)}tmpArr[item.key]=item.value}}).value()}else if(_.isObject(reqData)){var keys=_.sortBy(_.keys(reqData));_(keys).forEach(function(key){if(_.isString(reqData[key])){reqData[key]=self.toUnicode(reqData[key])}tmpArr[key]=reqData[key]}).value()}if(tmpArr.iRequestTime&&globals.timestamp){tmpArr.iRequestTime=globals.timestamp}delete tmpArr.sSign;var json=JSON.stringify(tmpArr).replace(/\\\\u/g,'\\u');var sign=CryptoJS.MD5(token+"_xxxxxxxxxx_"+json,{asString:true}).toString();sign=CryptoJS.MD5(sign+"_xxxxxxxxxx_"+token,{asString:true}).toString();postman.setGlobalVariable("sign",sign)}}app

2. 在Pre-request Script添加 eval(globals.autoSign);sign.run("6fe383bcacc");post

2、直接執行方式this

直接在Pre-request Script添加url

 

var sign = {
    toUnicode: function(s) {
      return s.replace(/([\u4E00-\u9FA5]|[\uFE30-\uFFA0])/g, function(newStr) {
        return "\\u" + newStr.charCodeAt(0).toString(16);      
      });    
    },
    run: function(token) {
      if (typeof token == "undefined") {
        token = "6fe383bcacc";
        if (globals.defaultToken) {
          token = globals.defaultToken
        }
      }
      var self = this;
      var tmpArr = {};
      var reqData = request.data;
      if (_.isString(reqData)) {
        var reqType = request.headers['Content-Type'];
        if (_.endsWith(reqType, 'json')) {
          reqData = JSON.parse(reqData)
        } else if (_.endsWith(reqType, 'xml')) {
          reqData = xml2Json(reqData).xml
        }
      }
      if (_.isArray(reqData)) {
        reqData = _.sortByOrder(reqData, ["key"], ['asc']);
        _(reqData).forEach(function(item) {
          if (!item.disabled) {
            if (_.isString(item.value)) {
              item.value = self.toUnicode(item.value);
            }
            tmpArr[item.key] = item.value
          }
        }).value()
      } else if (_.isObject(reqData)) {
        var keys = _.sortBy(_.keys(reqData));
        _(keys).forEach(function(key) {
          if (_.isString(reqData[key])) {
            reqData[key] = self.toUnicode(reqData[key]);
          }
          tmpArr[key] = reqData[key]
        }).value()
      }
      if (tmpArr.iRequestTime && globals.timestamp) {
        tmpArr.iRequestTime = globals.timestamp
      }
      delete tmpArr.sSign;
      var json = JSON.stringify(tmpArr).replace(/\\\\u/g, '\\u');
      var sign = CryptoJS.MD5(token + "_xxxxxxxxxx_" + json, {
        asString: true
      }).toString();
      sign = CryptoJS.MD5(sign + "_xxxxxxxxxx_" + token, {
        asString: true
      }).toString();
      postman.setGlobalVariable("sign", sign)
    }
  }
sign.run("6fe383bcacc");

 

注意:your token能夠改爲你本身的token哦spa

3、引用方式code

在body中sign所在的value填寫 {{sign}}便可xml

 

 

==============================================================blog

詳細圖文教程以下:

第一步

在全局變量添加key:value分別是autoSign和var sign={toUnicode:function(s){return s.replace(/([\u4E00-\u9FA5]|[\uFE30-\uFFA0])/g,function(newStr){return"\\u"+newStr.charCodeAt(0).toString(16)})},run:function(token){if(typeof token=="undefined"){token="6fe383bcacc";if(globals.defaultToken){token=globals.defaultToken}}var self=this;var tmpArr={};var reqData=request.data;if(_.isString(reqData)){var reqType=request.headers['Content-Type'];if(_.endsWith(reqType,'json')){reqData=JSON.parse(reqData)}else if(_.endsWith(reqType,'xml')){reqData=xml2Json(reqData).xml}}if(_.isArray(reqData)){reqData=_.sortByOrder(reqData,["key"],['asc']);_(reqData).forEach(function(item){if(!item.disabled){if(_.isString(item.value)){item.value=self.toUnicode(item.value)}tmpArr[item.key]=item.value}}).value()}else if(_.isObject(reqData)){var keys=_.sortBy(_.keys(reqData));_(keys).forEach(function(key){if(_.isString(reqData[key])){reqData[key]=self.toUnicode(reqData[key])}tmpArr[key]=reqData[key]}).value()}if(tmpArr.iRequestTime&&globals.timestamp){tmpArr.iRequestTime=globals.timestamp}delete tmpArr.sSign;var json=JSON.stringify(tmpArr).replace(/\\\\u/g,'\\u');var sign=CryptoJS.MD5(token+"_xxxxxxxxxx_"+json,{asString:true}).toString();sign=CryptoJS.MD5(sign+"_xxxxxxxxxx_"+token,{asString:true}).toString();postman.setGlobalVariable("sign",sign)}}

                                                       圖一

第二步

在Pre-request Script添加代碼

eval(globals.autoSign);

 sign.run("your token");

                                                 圖二

第三步

在body中把sSign參數的值設置爲{{sign}}

                                               圖三

說明:

1. sign.run()的參數能夠不傳,若是不傳會默認使用全局變量中的defaultToken的值(見圖一)

2. 全局變量添加菜單

 

執行結果:

相關文章
相關標籤/搜索