本文已参与「新人创作礼」活动,一起开启掘金创作之路。
网址:webapi.cninfo.com.cn/#/marketDat…
目标:时效性参数 mcode
直接搜找到该参数生成的地方 也就是 indexcode.getResCode()
控制台输入 indexcode 直接定位到该方法
可以看到返回的时候调用了 missjson 这个方法
直接搜索找到该方法
最后将这两个方法改写为函数即可
function getResCode() {
var time = Math.floor(new Date().getTime() / 1000);
return missjson("" + time);
}
function missjson(input) {
var keyStr = "ABCDEFGHIJKLMNOP" + "QRSTUVWXYZabcdef" + "ghijklmnopqrstuv" + "wxyz0123456789+/" + "=";
var output = "";
var chr1, chr2, chr3 = "";
var enc1, enc2, enc3, enc4 = "";
var i = 0;
do {
chr1 = input.charCodeAt(i++);
chr2 = input.charCodeAt(i++);
chr3 = input.charCodeAt(i++);
enc1 = chr1 >> 2;
enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
enc4 = chr3 & 63;
if (isNaN(chr2)) {
enc3 = enc4 = 64;
} else if (isNaN(chr3)) {
enc4 = 64;
}
output = output + keyStr.charAt(enc1) + keyStr.charAt(enc2)
+ keyStr.charAt(enc3) + keyStr.charAt(enc4);
chr1 = chr2 = chr3 = "";
enc1 = enc2 = enc3 = enc4 = "";
} while (i < input.length);
return output;
}
console.log(getResCode())