原因
从谷歌上面下载的postman(老版本的) 请求都是明文的 ,有时候调试接口需要经过加密再请求这时候postman就支持不了。
修改postman插件
/**
* 请求加密接口返回加密后的字符串
* @param reqbody
* @param statechange
*/
function reqSend(reqbody, statechange) {
var xhr_m = new XMLHttpRequest();
xhr_m.open("POST", "xxxxxxxxxxxxxxxxxx", true); //Open the XHR request. Will be sent later
xhr_m.onreadystatechange = statechange;
xhr_m.responseType = "text";
var headers = pm.request.getXhrHeaders(headers);
for (var i = 0; i < headers.length; i++) {
xhr_m.setRequestHeader(headers[i].name, headers[i].value);
}
xhr_m.send(reqbody);
}
/**
* 请求加密接口返回加密后的字符串 跟上面的一样没什么区别,headers可以注释掉
* @param reqbody
* @param statechange
*/
function getRes(reqbody, statechange) {
var xhr_m = new XMLHttpRequest();
xhr_m.open("POST", "xxxxxxxxxxxxxx", true); //Open the XHR request. Will be sent later
xhr_m.onreadystatechange = statechange;
xhr_m.responseType = "text";
// var headers = pm.request.getXhrHeaders(headers);
// for (var i = 0; i < headers.length; i++) {
// xhr_m.setRequestHeader(headers[i].name, headers[i].value);
// }
xhr_m.send(reqbody);
}
上面的保存一个单独的js文件,这里我保存为mine.js
找到index.html 引入js文件
修改requester.js 揭开对应的注释
这么做的目的就是将本来要直接请求的参数经过接口先加密下再请求
reqSend() 方法是加密请求的参数
getRes() 方法是解密从服务器端返回的参数然后返回到页面上
具体加密解密的方法过程是放在服务器端,这里只是调用接口
下载链接
http://pan.baidu.com/s/1dEBJUMX
h572