请求头参数mcode加密

检查  网络  搜索要爬取的内容  标头  请求标头  mcode(是base64加密的)

搜索关键字 (mcode) 或者路径(p_sysapi1007)  找到js  在来源面板打开  继续搜索p_sysapi1007  mcode: indexcode.getResCode()  这行设置断点  刷新  单步调试  把整体方法复制出来(创建请求头参数加密 mcode js.js) 

js


function getResCode() {
var time = Math.floor(new Date().getTime() / 1000);
console.log(time)   检查时间戳位数
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())

py
# Math.floor(new Date().getTime() / 1000);
import time
import math
import base64
time1 = math.floor(time.time())
print(time1) #1.根据js,检查位数是不是10位 2.time1 是不是new Date()生成的,不是就是服务器生成的,找到服务器地址,看具体是如何生成的
mcode = base64.b64encode(str(time1).encode()).decode()
print(mcode)

posted @ 2023-03-26 11:21  严永富  阅读(99)  评论(0)    收藏  举报