(function () {
var c7f = NEJ.P, ev9m = c7f("nej.g"), v7o = c7f("nej.j"), j7c = c7f("nej.u"), Wx5C = c7f("nm.x.ek"),
l7e = c7f("nm.x");
if (v7o.be7X.redefine) return;
window.GEnc = true;
var bqN2x = function (cyC5H) {
var m7f = [];
j7c.bf7Y(cyC5H, function (cyB5G) {
m7f.push(Wx5C.emj[cyB5G])
});
return m7f.join("")
};
var cyz5E = v7o.be7X;
v7o.be7X = function (X7Q, e7d) {
var i7b = {}, e7d = NEJ.X({}, e7d), mv1x = X7Q.indexOf("?");
if (window.GEnc && /(^|\.com)\/api/.test(X7Q) && !(e7d.headers && e7d.headers[ev9m.Ae8W] == ev9m.Im0x) && !e7d.noEnc) {
if (mv1x != -1) {
i7b = j7c.gZ0x(X7Q.substring(mv1x + 1));
X7Q = X7Q.substring(0, mv1x)
}
if (e7d.query) {
i7b = NEJ.X(i7b, j7c.fT0x(e7d.query) ? j7c.gZ0x(e7d.query) : e7d.query)
}
if (e7d.data) {
i7b = NEJ.X(i7b, j7c.fT0x(e7d.data) ? j7c.gZ0x(e7d.data) : e7d.data)
}
i7b["csrf_token"] = v7o.gP0x("__csrf");
X7Q = X7Q.replace("api", "weapi");
e7d.method = "post";
delete e7d.query;
var bVZ7S = window.asrsea(JSON.stringify(i7b), bqN2x(["流泪", "强"]), bqN2x(Wx5C.md), bqN2x(["爱心", "女孩", "惊恐", "大笑"]));
e7d.data = j7c.cs8k({params: bVZ7S.encText, encSecKey: bVZ7S.encSecKey})
}
上面的是一部分的js代码..举个例子
我要怎么才能用execjs库调用这里面的函数呢? 都是被匿名函数function ()包着的 比如我想访问v7o.be7X 函数
普通访问def encodes(kw):
path='1.js'
with open(path, 'r', encoding='utf-8') as f:
js = f.read()
cx_js = execjs.compile(js)
# 调用call方法去执行js代码
a = cx_js.call("v7o.be7Xt", kw) # 第一个为函数名,后面的为参数,多的就用逗号隔开
return a
print(encodes(kw))
会说缺少标识符 execjs._exceptions.ProgramError: SyntaxError: 缺少标识符 我参数填错是另外一回事,,这个可以慢慢调试..但是这个如何才能访问里面的函数呢 |