package com.ilawedu.util;
public interface RunJsMethod {
//调用的方法必须和js中方法名一致
public String getkey(String cook);
}
package text;
import java.io.FileReader;
import javax.script.Invocable;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import com.ilawedu.util.RunJsMethod;
public class RunJs {
public static void main(String[] args) {
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("js");
try {
String path = "getkey.js";
System.out.println(path);
// FileReader的参数为所要执行的js文件的路径
engine.eval(new FileReader(RunJs.class.getClassLoader().getResource(path).getPath()));
if (engine instanceof Invocable) {
Invocable invocable = (Invocable) engine;
RunJsMethod executeMethod = invocable.getInterface(RunJsMethod.class);
System.out.println(executeMethod.getkey("67b79bfffca52d01ad183d9e7d267cfa0667804b"));
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
中国裁判文书网 getkey()解密后,js涉及太多,不想写转换方法,所以直接解密后调用,当然不解密的话需要在文件中添加三个加密的js 然后重写getcookie方法就可以