牛骨文教育服务平台(让学习变的简单)
博文笔记

java读取js文件

创建时间:2017-07-12 投稿人: 浏览次数:411
/**
* 获取js中随机产生url参数的方法
* @author w
* @return
* @throws Exception
*/

public static String testScriptVariables() throws Exception {

ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("javascript");
String res = null;
try {
String script = "function genT() { "
       + "            var sig = ""; "
       + "            var chars = "0123456789abcdef"; "
       + "            if(true){ "
       + "                var curTime = parseInt(Math.random()*(9999-1000+1)+1000)+""+Date.parse(new Date()); "
       + "                sig = chars.charAt(parseInt(Math.random()*(15-15+1)+10))+chars.charAt(curTime.length)+""+curTime; "
       + "            }else{ "
       + "                sig = __signature; "
       + "            } "
       + " "
       + "            var key = ""; "
       + "            var keyIndex = -1; "
       + "            for(var i=0;i<6;i++){ "
       + "                var c=sig.charAt(keyIndex+1); "
       + "                key +=c; "
       + "                keyIndex = chars.indexOf(c); "
       + "                if(keyIndex<0 || keyIndex>=sig.length){ "
       + "                    keyIndex = i; "
       + "                } "
       + "            } "
       + " "
       + " var curUrl=""; "
       + "            var timestamp = parseInt(Math.random()*(9999-1000+1)+1000)+"_"+key+"_"+Date.parse(new Date()); "
       + "            var t = timestamp; " + "            t = t.replace(/\+/g,"_"); "
       + "            curUrl+= "?s=" + sig; " + "            curUrl+= "&t=" +  t; "
       + " return curUrl; " + "        }";
engine.eval(script);
Invocable inv2 = (Invocable)engine;
res = (String)inv2.invokeFunction("genT");
System.out.println("当前结果为:" + res);
} catch (Exception e) {
e.printStackTrace();
}
return res;
}
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。