文档章节

获取网易JSESSIONID-WXTXZDL

四季变幻
 四季变幻
发布于 02/05 16:25
字数 9328
阅读 111
收藏 0

背景:python爬虫

JSESSIONID-WXTXZDL 来源(其一):

1,https://urswebzj.nosdn.127.net/webzj_cdn101/pp_index_d571d1c02e2f7ece13fd9d21bd21f0bd.js (js设置)(来源:https://www.icourse163.org/member/login.htm?returnUrl=aHR0cHM6Ly93d3cuaWNvdXJzZTE2My5vcmcv#/wapLoginEmail)

2,https://dl.reg.163.com/src/mp-agent-finger.html

转义如下:

// function G() {
//     var b = "CsD5z3NijK9maUv6".split("");
//     this.d = function(d) {
//         if (null == d || void (0) == d)
//             return d;
//         if (0 != d.length % 2)
//             throw Error("1100");
//         for (var f = [], e = 0; e < d.length; e++) {
//             0 == e % 2 && f.push("%");
//             for (var g = b, E = 0; E < g.length; E++)
//                 // debugger
//                 if (d.charAt(e) == g[E]) {
//                     // debugger
//                     f.push(E.toString(16));
//                     break
//                 }
//         }
//         return decodeURIComponent(f.join(""))
//     }
// }
// var b = (new G).d
// var e = (new G).d
// var d = (new G).d
// var f = (new G).d
// var g = (new G).d;
(function() {
    function G(a) {
        if (null == a)
            return null;
        for (var c = [], h = 0, d = a.length; h < d; h++) {
            var b = a[h];
            c[h] = va[16 * (b >>> 4 & 15) + (b & 15)]
        }
        return c
    }
    function U(a) {
        var c = [];
        if (null == a || undefined == a || 0 == a.length)
            return ga();
        if (64 <= a.length) {
            c = [];
            if (null != a && 0 != a.length) {
                if (64 > a.length)
                    throw Error("1003");
                for (var h = 0; 64 > h; h++)
                    c[h] = a[h]
            }
            return c
        }
        for (h = 0; 64 > h; h++)
            c[h] = a[h % a.length];
        return c
    }
    function ea(a) {
        var c = 4294967295;
        if (null != a)
            for (var h = 0; h < a.length; h++)
                c = c >>> 8 ^ wa[(c ^ a[h]) & 255];
        a = ha(c ^ 4294967295);
        c = a.length;
        if (null == a || 0 > c)
            a = new String("");
        else {
            for (var h = [], d = 0; d < c; d++)
                h.push(xa(a[d]));
            a = h.join("")
        }
        return a
    }
    function fa(a, c, h) {
        var l, k = ["N", "w", "7", "4", "K", "6", "G", "R", "5", "W", "J", "t", "1", "V", "Z", "S", "3", "8", "O", "u", "T", "l", "s", "g", "I", "k", "e", "c", "+", "M", "A", "9", "i", "n", "B", "\\", "Q", "D", "U", "p", "E", "q", "b", "j", "y", "P", "X", "d", "h", "2", "Y", "x", "o", "0", "L", "r", "/", "a", "H", "m", "F", "f", "z", "v"], m = "C", C = [];
        if (1 == h)
            h = a[c],
            l = 0,
            C.push(k[h >>> 2 & 63]),
            C.push(k[(h << 4 & 48) + (l >>> 4 & 15)]),
            C.push(m),
            C.push(m);
        else if (2 == h)
            h = a[c],
            l = a[c + 1],
            a = 0,
            C.push(k[h >>> 2 & 63]),
            C.push(k[(h << 4 & 48) + (l >>> 4 & 15)]),
            C.push(k[(l << 2 & 60) + (a >>> 6 & 3)]),
            C.push(m);
        else if (3 == h)
            h = a[c],
            l = a[c + 1],
            a = a[c + 2],
            C.push(k[h >>> 2 & 63]),
            C.push(k[(h << 4 & 48) + (l >>> 4 & 15)]),
            C.push(k[(l << 2 & 60) + (a >>> 6 & 3)]),
            C.push(k[a & 63]);
        else
            throw Error("1010");
        return C.join("")
    }
    function ga() {
        for (var a = [], c = 0; 64 > c; c++)
            a[c] = 0;
        return a
    }
    function E(a, c, d, b) {
        if (null != a && 0 != a.length) {
            if (null == c)
                throw Error("1004");
            if (a.length < b)
                throw Error("1003");
            for (var e = 0; e < b; e++)
                c[d + e] = a[0 + e]
        }
    }
    function ha(a) {
        var c = [];
        c[0] = a >>> 24 & 255;
        c[1] = a >>> 16 & 255;
        c[2] = a >>> 8 & 255;
        c[3] = a & 255;
        return c
    }
    function V(a) {
        if (null == a || undefined == a)
            return a;
        a = encodeURIComponent(a);
        for (var c = [], b = a.length, g = 0; g < b; g++)
            if (a.charAt(g) == "%")
                if (g + 2 < b)
                    c.push(ya(a.charAt(++g) + "" + a.charAt(++g))[0]);
                else
                    throw Error("1009");
            else
                c.push(a.charCodeAt(g));
        return c
    }
    function ya(a) {
        if (null == a || 0 == a.length)
            return [];
        a = new String(a);
        for (var c = [], d = a.length / 2, b = 0, e = 0; e < d; e++) {
            var f = parseInt(a.charAt(b++), 16) << 4
            var g = parseInt(a.charAt(b++), 16);
            c[e] = z(f + g)
        }
        return c
    }
    function xa(a) {
        var c = [];
        c.push(O[a >>> 4 & 15]);
        c.push(O[a & 15]);
        return c.join("")
    }
    function W(a, c) {
        if (null == a || null == c || a.length != c.length)
            return a;
        for (var d = [], b = 0, e = a.length; b < e; b++)
            d[b] = ia(a[b], c[b]);
        return d
    }
    function ia(a, c) {
        a = z(a);
        c = z(c);
        return z(a ^ c)
    }
    function za(a, c) {
        return z(a + c)
    }
    function z(a) {
        if (-128 > a)
            return z(128 - (-128 - a));
        if (-128 <= a && 127 >= a)
            return a;
        if (127 < a)
            return z(-129 + a - (127));
        throw Error("1001");
    }
    function Aa(a) {
        function c() {
            for (var a = ["Abadi MT Condensed Light", "Adobe Fangsong Std", "Adobe Hebrew", "Adobe Ming Std", "Agency FB", "Arab", "Arabic Typesetting", "Arial Black", "Batang", "Bauhaus 93", "Bell MT", "Bitstream Vera Serif", "Bodoni MT", "Bookman Old Style", "Braggadocio", "Broadway", "Calibri", "Californian FB", "Castellar", "Casual", "Centaur", "Century Gothic", "Chalkduster", "Colonna MT", "Copperplate Gothic Light", "DejaVu LGC Sans Mono", "Desdemona", "DFKai-SB", "Dotum", "Engravers MT", "Eras Bold ITC", "Eurostile", "FangSong", "Forte", "Franklin Gothic Heavy", "French Script MT", "Gabriola", "Gigi", "Gisha", "Goudy Old Style", "Gulim", "GungSeo", "Haettenschweiler", "Harrington", "Hiragino Sans GB", "Impact", "Informal Roman", "KacstOne", "Kino MT", "Kozuka Gothic Pr6N", "Lohit Gujarati", "Loma", "Lucida Bright", "Lucida Fax", "Magneto", "Malgun Gothic", "Matura MT Script Capitals", "Menlo", "MingLiU-ExtB", "MoolBoran", "MS PMincho", "MS Reference Sans Serif", "News Gothic MT", "Niagara Solid", "Nyala", "Palace Script MT", "Papyrus", "Perpetua", "Playbill", "PMingLiU", "Rachana", "Rockwell", "Sawasdee", "Script MT Bold", "Segoe Print", "Showcard Gothic", "SimHei", "Snap ITC", "TlwgMono", "Tw Cen MT Condensed Extra Bold", "Ubuntu", "Umpush", "Univers", "Utopia", "Vladimir Script", "Wide Latin", "仿宋", "华文中宋", "华文仿宋", "华文宋体", "华文彩云", "华文新魏", "华文楷体", "华文琥珀", "华文细黑", "华文行楷", "华文隶书", "宋体", "幼圆", "微软雅黑", "新宋体", "方正姚体", "方正舒体", "楷体", "隶书", "黑体", "新细明体", "细明体", "标楷体", "仿宋_GB2312", "楷体_GB2312", "微软正黑体", "华文黑体", "丽黑 Pro", "丽宋 Pro", "苹果丽中黑", "苹果丽细宋"], c = [], l = (221732236 ^ 1768600746) + (13995017 ^ -1686660397); l < a.length; l++)
                try {
                    var k = a[l];
                    h()(k) && c.push(k)
                } catch (m) {
                    "font detect error"
                }
            return c.join(";")
        }
        function h() {
            function a(c) {
                var b = {};
                return m.style.fontFamily = c,
                k.appendChild(m),
                b.height = m.offsetHeight,
                b.width = m.offsetWidth,
                k.removeChild(m),
                b
            }
            var c = ["monospace", "sans-serif", "serif"]
            var h = []
            var f = 'wwwmmmmmmmmmmlli'
            var l = "72px"
            var k = w.body
            var m = w.createElement("span");
            m.style.fontSize = l;
            m.style.visibility = "hidden";
            m.innerHTML = f;
            for (f = 0; f < c.length; f++)
                h[f] = a(c[f]);
            return function(b) {
                for (var e = 0; e < h.length; e++) {
                    var f = a(b + ',' + c[e])
                    var g = h[e];
                    if (f.height !== g.height || f.width !== g.width)
                        return true
                }
                return false
            }
        }
        function l() {
            var a = null
            var c = null
            var h = [];
            try {
                c = w.createElement('canvas'),
                a = c["getContext"]("webgl") || c['getContext']("experimental-webgl")
            } catch (g) {}
            if (!a)
                return h;
            try {
                h.push(a.getSupportedExtensions())
            } catch (l) {}
            try {
                h.push(k(a, c))
            } catch (m) {}
            return h.join(";")
        }
        function k(a, c) {
            try {
                var b = '"attribute vec2 attrVertex; varying vec2 varyinTexCoordinate; uniform vec2 uniformOffset; void main() {   varyinTexCoordinate = attrVertex + uniformOffset;   gl_Position = vec4(attrVertex, 0, 1); }"'
                var e = "precision mediump float; varying vec2 varyinTexCoordinate; void main() {   gl_FragColor = vec4(varyinTexCoordinate, 0, 1); }"
                var h = a.createBuffer();
                a.bindBuffer(a.ARRAY_BUFFER, h);
                var l = new Float32Array([-.2, -.9, (1154459184 ^ 1722187078) + (876371114 ^ -374704096), .4, -.26, (148606208 ^ 138266317) + (-1575608499 ^ 1561308030), (1303945517 ^ 127866573) + (-929346260 ^ 2101544204), .732134444, (-1406890025 ^ -410937654) + (80912891 ^ -1333246184)]);
                a.bufferData(a.ARRAY_BUFFER, l, a.STATIC_DRAW);
                h.k = (-1682921581 ^ -976538249) + (-565395890 ^ 2143867729);
                h.l = (-863694944 ^ -201830267) + (-1798317141 ^ 1414364021);
                var k = a.createProgram()
                var m = a.createShader(a.VERTEX_SHADER);
                a.shaderSource(m, b);
                a.compileShader(m);
                var n = a.createShader(a.FRAGMENT_SHADER);
                return a.shaderSource(n, e),
                a.compileShader(n),
                a.attachShader(k, m),
                a.attachShader(k, n),
                a.linkProgram(k),
                a.useProgram(k),
                k.n = a.getAttribLocation(k, "attrVertex"),
                k.m = a.getUniformLocation(k, "uniformOffset"),
                a.enableVertexAttribArray(k.o),
                a.vertexAttribPointer(k.n, h.k, a.FLOAT, false, 0, 0),
                a.uniform2f(k.m, 1, 1),
                a.drawArrays(a.TRIANGLE_STRIP, 0, h.l),
                I(c["toDataURL"]())
            } catch (r) {
                return "webgl exception"
            }
        }
        function m() {
            var a = w.createElement("div")
            var c = []
            var h = ["ActiveBorder", "ActiveCaption", "AppWorkspace", "Background", "ButtonFace", "ButtonHighlight", "ButtonShadow", "ButtonText", "CaptionText", "GrayText", "Highlight", "HighlightText", "InactiveBorder", "InactiveCaption", "InactiveCaptionText", "InfoBackground", "InfoText", "Menu", "MenuText", "Scrollbar", "ThreeDDarkShadow", "ThreeDFace", "ThreeDHighlight", "ThreeDLightShadow", "ThreeDShadow", "Window", "WindowFrame", "WindowText"];
            // debugger
            if (!window["getComputedStyle"])
                return c.join("");
            for (var l = 0; l < h.length; l++)
                try {
                    w.body.appendChild(a),
                    a.style.color = h[l],
                    c.push(h[l]),
                    c.push(window["getComputedStyle"](a).getPropertyValue("color")),
                    w.body.removeChild(a)
                } catch (k) {
                    c.push("get system colors exception")
                }
            return c.join(":")
        }
        function p() {
            try {
                var a = w.createElement('canvas')
                var c = a['getContext']("2d")
                var h = 'mwC nkbafjord phsgly exvt zqiu, ὠ tphst/:/uhbgtic.mo/levva';
                c.textBaseline = "top";
                c.font = "70px 'Arial'";
                c.textBaseline = "alphabetic";
                c.fillStyle = "#f60";
                c.fillRect((1268164136 ^ 1739110132) + (-745390772 ^ 5493485), (-407812768 ^ -1718695222) + (1779383103 ^ -338736280), (-1373953807 ^ -256811912) + (713024421 ^ -1960157168), (1908576397 ^ 2116563786) + (2082159383 ^ -1945213094));
                c.fillStyle = "#069";
                c.fillText(h, (1874680904 ^ 1208149297) + (-885966739 ^ 326205156), (-1299411938 ^ -1145292397) + (1797629143 ^ -1645547947));
                c.fillStyle = "rgba(102, 204, 0, 0.7)";
                c.fillText(h, (-1366334440 ^ -1594520078) + (-1993082207 ^ 2025254075), (1396373797 ^ 1829272982) + (648779804 ^ -412687550));
                return a["toDataURL"]()
            } catch (l) {
                return "canvas api exception"
            }
        }
        function q() {
            try {
                return window['ActiveXObject'] && t.h ? r() : n()
            } catch (a) {
                return "get plugin string exception"
            }
        }
        function n() {
            if (!D['plugins'])
                return "";
            var a = ['4game']
            var c = []
            var h = {};
            c.push(x(D['plugins'], function(a) {
                h[a.name] = (258305041 ^ 1405052248) + (716970597 ^ -1986401059);
                var c = x(a, function(a) {
                    return [a.type, a.suffixes].join("~")
                }).join(',');
                return [a.name, a.description, c].join("::")
            }, this).join('$'));
            c.push(x(a, function(a) {
                if (h[a])
                    return "";
                a = D['plugins'][a];
                if (!a)
                    return "";
                var c = x(a, function(a) {
                    return [a.type, a.suffixes].join('~')
                }).join(',');
                return [a.name, a.description, c].join('::')
            }, this).join(';'));
            return c.join(';')
        }
        function r() {
            if (window['ActiveXObject']) {
                var a = ['AcroPDF.PDF'];
                return x(a, function(a) {
                    try {
                        return new (window['ActiveXObject'])(a),
                        a
                    } catch (c) {
                        return null
                    }
                }).join(';')
            }
            return ""
        }
        function Ba() {
            try {
                return !!window['sessionStorage']
            } catch (a) {
                return true
            }
        }
        function v() {
            try {
                return !!window['localStorage']
            } catch (a) {
                return !((1749473834 ^ 257369467) + (213652895 ^ -1806559952))
            }
        }
        function x(a, c, b) {
            var h = [];
            if (null == a)
                return h;
            if (z && a.map === z)
                return a.map(c, b);
            u(a, function(a, d, e) {
                h[h.length] = c.call(b, a, d, e)
            });
            return h
        }
        function u(a, c) {
            if (null !== a)
                if (y && a.forEach === y)
                    a.forEach(c, void ((-1814022259 ^ -1132759104) + (-654053675 ^ 157765990)));
                else if (a.length === +a.length)
                    for (var b = (-1750601504 ^ -1164037797) + (-270480844 ^ 1025963121), h = a.length; b < h && c.call(void ((1261818358 ^ 1820088511) + (866227312 ^ -350756153)), a[b], b, a) !== {}; b++)
                        ;
                else
                    for (b in a)
                        if (a.hasOwnProperty(b) && c.call(void ((94495259 ^ 954605776) + (2092789063 ^ -1106947982)), a[b], b, a) === {})
                            break
        }
        var y = Array.prototype.forEach
        var z = Array.prototype.map
        var t = {
            e: I,
            j: true,
            i: true,
            h: true,
            b: true,
            a: true
        };
        typeof a == "function" ? t.e = a : (null != a.b && void ((-1610373247 ^ -73931444) + (-1899380240 ^ 715291843)) != a.b && (t.b = a.b),
        null != a.a && void (0) != a.a && (t.a = a.a));
        this.get = function() {
            var a = []
            var h = [];
            if (Ca) {
                a.push(Ba());
                a.push(v());
                a.push(!!window['indexedDB']);
                w.body ? a.push(typeof w.body['addBehavior']) : a.push("undefined");
                a.push(typeof window['openDatabase']);
                a.push(D['cpuClass']);
                a.push(D['platform']);
                var k;
                if (k = t.i)
                    try {
                        var n = w.createElement('canvas');
                        k = !(!n['getContext'] || !n['getContext']("2d"))
                    } catch (r) {
                        k = false
                    }
                if (k)
                    try {
                        a.push(p()),
                        t.b && a.push(l())
                    } catch (u) {
                        a.push('canvas exception')
                    }
                // debugger
                a.push(m());
                t.a && h.push(c());
                h.push(D['userAgent']);
                h.push(D['language']);
                h.push(window['screen']['colorDepth']);
                t.j && (k = window['screen'] ? [window['screen'].height, window['screen'].width] : [(286235280 ^ 1044134674) + (1551151006 ^ -1934036512), (1988114007 ^ 440540729) + (1486575978 ^ -878276872)],
                typeof k !== 'undefined' && h.push(k.join("x")));
                h.push((new Date)['getTimezoneOffset']());
                h.push(D['doNotTrack']);
                h.push(q())
            }
            k = [];
            t.e ? (k.push(t.e(a.join("###"))),
            k.push(t.e(h.join("###")))) : (k.push(I(a.join("###"))),
            k.push(I(h.join("###"))));
            return k
        }
    }
    function I(a) {
        var c, h, l, k, m;
        c = a.length & (-899127448 ^ -1948860477) + (2041982003 ^ -940110997);
        h = a.length - c;
        l = (-1832389556 ^ -53061186) + (-1167627766 ^ 730413095);
        for (m = (1958021015 ^ 1468167512) + (-1416540156 ^ 2002378037); m < h; )
            k = a.charCodeAt(m) & (1716665447 ^ 1757556951) + (-654132943 ^ 678251902) | (a.charCodeAt(++m) & (-1405417567 ^ -612959661) + (2093948316 ^ -193126767)) << (1899937901 ^ 436073150) + (224418535 ^ -1705207854) | (a.charCodeAt(++m) & (1888927931 ^ 184267451) + (1239266521 ^ -867223002)) << (391207047 ^ 1141673650) + (-1490032918 ^ 193842993) | (a.charCodeAt(++m) & (-2030717444 ^ -1935143955) + (-246663398 ^ 82736628)) << (879695134 ^ 469978848) + (-1625924098 ^ 1216739812),
            ++m,
            k = 3432918353 * (k & (1022967910 ^ 322414968) + (1142306248 ^ -1809571031)) + ((3432918353 * (k >>> (580880591 ^ 297023887) + (158008334 ^ -977319202)) & (476966335 ^ 499485383) + (1717212569 ^ -1744696034)) << (-1602074718 ^ -1149799964) + (-132213560 ^ 471096578)) & 4294967295,
            k = k << (-1077789743 ^ -696038440) + (834936598 ^ -1485140208) | k >>> (-1718873804 ^ -679667948) + (171521858 ^ -1153970509),
            k = ((-875163839 ^ -820558994) + (-1178227560 ^ -1358936580)) * (k & (-2112357231 ^ -1111834872) + (-845503472 ^ 231282806)) + ((((1013694518 ^ 732524604) + (-800222424 ^ -745990495)) * (k >>> (-1611601328 ^ -869348969) + (306223839 ^ -1100921194)) & (-1705291243 ^ -959651021) + (261096400 ^ -1392947959)) << (-1887456127 ^ -943761264) + (-795951018 ^ 1739707305)) & 4294967295,
            l ^= k,
            l = l << (-1719737869 ^ -822933745) + (-1012767808 ^ 1808825041) | l >>> (-2052097324 ^ -113268653) + (-1979472975 ^ 158109245),
            l = ((-297595789 ^ -841389085) + (1817705528 ^ -1338874803)) * (l & (1776319387 ^ 1979096146) + (82472191 ^ -419400503)) + ((((-1003448561 ^ -146730396) + (-309714911 ^ 553933499)) * (l >>> (1998678336 ^ 674340888) + (509788541 ^ -1097992251)) & (-1439533718 ^ -2146219151) + (2032812082 ^ -1393196586)) << (-328071596 ^ -458053346) + (1720223092 ^ -1850223182)) & 4294967295,
            l = (l & (326559225 ^ 105328936) + (-1505286150 ^ 1283984596)) + ((-879590363 ^ -842235868) + (-835745442 ^ 932048445)) + (((l >>> (1338725410 ^ 239739607) + (1318588487 ^ -253322916)) + ((-1533194994 ^ -1924725687) + (2977495 ^ -703859750)) & (-604208061 ^ -1200612319) + (1683164164 ^ -131634279)) << (887365018 ^ 842147116) + (1881459099 ^ -1995632959));
        k = (-1182341341 ^ -1739570548) + (224272902 ^ -747145129);
        switch (c) {
        case (-863893280 ^ -1847959051) + (1769322255 ^ -875421215):
            k ^= (a.charCodeAt(m + ((133235623 ^ 981537151) + (-1641383080 ^ 1554355826))) & (-1993150140 ^ -1598960011) + (766176414 ^ -69849776)) << (1825644354 ^ 2026053802) + (-264614052 ^ 467111796);
        case (2086510451 ^ 1316944285) + (400080209 ^ -637262779):
            k ^= (a.charCodeAt(m + ((-869722209 ^ -207479384) + (-385693262 ^ 695614584))) & (1340493803 ^ 34410887) + (-683648831 ^ 1700067922)) << (-1889231027 ^ -677583756) + (424461316 ^ -1102364469);
        case (-1527641635 ^ -835043345) + (49711226 ^ -1748942411):
            k ^= a.charCodeAt(m) & (1244098199 ^ 23881962) + (-1845779166 ^ 625958816),
            k = 3432918353 * (k & (-468918150 ^ -343677283) + (-1813964178 ^ 1670439798)) + ((3432918353 * (k >>> (2099164132 ^ 312776773) + (-379708665 ^ 2031865704)) & (-120663639 ^ -727383488) + (-57691982 ^ 790273188)) << (-1587117327 ^ -337037645) + (994347633 ^ -1909145153)) & 4294967295,
            k = k << (-1699692248 ^ -1613366701) + (-68738247 ^ 25028525) | k >>> (-2107492686 ^ -1959110360) + (-1208680020 ^ 1095930331),
            l ^= ((-2135937008 ^ -870005406) + (-926630508 ^ 104267189)) * (k & (448232145 ^ 1061006978) + (-553548742 ^ 91729814)) + ((((555717051 ^ 5224605) + (835340342 ^ -872594341)) * (k >>> (-1099163103 ^ -227273253) + (107549322 ^ -1247878500)) & (1539343893 ^ 2026550280) + (1058489250 ^ -471757248)) << (-595326703 ^ -136163043) + (-1651464063 ^ 1225326725)) & 4294967295
        }
        l ^= a.length;
        l ^= l >>> (982238979 ^ 1198191876) + (-227800083 ^ 1886569956);
        l = 2246822507 * (l & (864108209 ^ 341872627) + (-396420852 ^ 809523121)) + ((2246822507 * (l >>> (-1403865131 ^ -1170674491) + (365094367 ^ -61390625)) & (1185986593 ^ 1225563298) + (1133871160 ^ -1278125244)) << (1122936692 ^ 1066159889) + (-46189570 ^ 2141332565)) & 4294967295;
        l ^= l >>> (-1195767862 ^ -1458053809) + (-1916579186 ^ 1670477574);
        l = 3266489909 * (l & (-1580311422 ^ -1042033410) + (-1501970640 ^ 967493811)) + ((3266489909 * (l >>> (2029225717 ^ 519343345) + (-1024761772 ^ 1528010328)) & (961414019 ^ 541515715) + (299777518 ^ -148496815)) << (1272174459 ^ 1494824046) + (-1893379602 ^ 1645235477)) & 4294967295;
        a = (l ^ l >>> (1863109356 ^ 635787143) + (355355058 ^ -1606931689)) >>> (-15502460 ^ -85085357) + (-2000855009 ^ 1924947766);
        c = [];
        c.push(a);
        try {
            var p, q = a + "";
            for (l = m = h = (-1627882980 ^ -1485691805) + (2080575819 ^ -1166626614); l < q.length; l++)
                try {
                    var n = parseInt(q.charAt(l) + "");
                    h = n || (1971308375 ^ 608137086) + (-394962557 ^ 1187647060) === n ? h + n : h + ((-1834846843 ^ -70102544) + (-1267382702 ^ 586849758));
                    m++
                } catch (r) {
                    h += (-620346604 ^ -2025801136) + (-1495326501 ^ 90580582),
                    m++
                }
            p = X(((142684991 ^ 639530332) + (-742872161 ^ 47714817)) * h / ((-602166144 ^ -1905510435) + (1502280115 ^ -201155312) == m ? (-1610043787 ^ -521734817) + (-647019758 ^ 1719592901) : m));
            var v, z = Math.floor(p / Math.pow((869243018 ^ 348265625) + (-770727855 ^ 184408998), (-2075358135 ^ -2001592976) + (987421653 ^ -908348131))), x = a + "";
            for (l = m = h = n = q = (780351706 ^ 2099111928) + (329270192 ^ -1077845138); l < x.length; l++)
                try {
                    var u = parseInt(x.charAt(l) + "");
                    u || (1315882844 ^ 1114367940) + (1131583089 ^ -1333245671) === u ? u < z ? (n++,
                    q += u) : (m++,
                    h += u) : (m++,
                    h += z)
                } catch (y) {
                    m++,
                    h += z
                }
            m = 0 == m ? 1 : m;
            v = X((1) * h / m - (1) * q / (0 == n ? 1 : n));
            c.push(R(p, "0"));
            c.push(R(v, "0"))
        } catch (w) {
            c = [],
            c.push(a),
            c.push(L("-").join("")),
            c.push(L("-").join(""))
        }
        return c.join("")
    }
    function X(a) {
        if (0 > a || 10 <= a)
            throw Error('1110');
        var c = L("0");
        a = "" + a;
        for (var h = 0, b = 0; h < c.length && b < a.length; b++)
            a.charAt(b) != "." && (c[h++] = a.charAt(b));
        return parseInt(c.join(""))
    }
    function R(a, c) {
        var b = "" + a;
        if (2 < b.length)
            throw Error("1111");
        if (2 == b.length)
            return b;
        for (var d = [], g = b.length; 2 > g; g++)
            d.push(c);
        d.push(b);
        return d.join("")
    }
    function L(a) {
        for (var c = [], b = 0; 2 > b; b++)
            c.push(a);
        return c
    }
    function q(a) {
        return null == a || undefined == a
    }
    function p(a, c, b) {
        this.f = a;
        this.c = c;
        this.g = q(b) ? true : b
    }
    function Da(a) {
        if (q(a) || q(a.f) || q(a.c))
            return false;
        try {
            if (q(window[a.f]))
                return false
        } catch (c) {
            return false
        }
        return true
    }
    function B(a, c) {
        if (q(a))
            return "";
        for (var b = 0; b < a.length; b++) {
            var d = a[b];
            if (!q(d) && d.f == c)
                return d
        }
    }
    function ja() {
        var a;
        a: {
            if (!q(v))
                for (a = 0; a < v.length; a++) {
                    var c = v[a];
                    if (c.g && !Da(c)) {
                        a = c;
                        break a
                    }
                }
            a = null
        }
        debugger
        var h;
        if (q(a)) {
            try {
                h = true; // 1.01 === window.parseFloat("1.01") && window.isNaN(window.parseFloat("HELLO"))
            } catch (l) {
                h = !(1)
            }
            if (h) {
                var k;
                try {
                    k = true; // 123 === 123 && window.isNaN(window.parseInt('HELLO'))
                } catch (m) {
                    k = !(1)
                }
                if (k) {
                    var p;
                    try {
                        p = true; // window.decodeURI("%22") === '"'
                    } catch (z) {
                        p = !(1)
                    }
                    if (p) {
                        var n;
                        try {
                            n = true; // window.decodeURIComponent("%26") === "&"
                        } catch (r) {
                            n = !(1)
                        }
                        if (n) {
                            var w;
                            try {
                                w = true; // window.encodeURI('"') === "%22"
                            } catch (E) {
                                w = !(1)
                            }
                            if (w) {
                                var x;
                                try {
                                    x = true; // window.encodeURIComponent("&") === "%26"
                                } catch (u) {
                                    x = !(1)
                                }
                                if (x) {
                                    var y;
                                    try {
                                        y = true; // window.escape("&") === "%26"
                                    } catch (G) {
                                        y = !(1)
                                    }
                                    if (y) {
                                        var t;
                                        try {
                                            t = true; // window.unescape('%26') === "&"
                                        } catch (D) {
                                            t = !(1)
                                        }
                                        if (t) {
                                            var A;
                                            try {
                                                A = 123 === window.eval('(function(){return 123;})();')
                                            } catch (F) {
                                                A = !(1)
                                            }
                                            h = A ? null : B(v, 'eval')
                                        } else
                                            h = B(v, 'unescape')
                                    } else
                                        h = B(v, 'escape')
                                } else
                                    h = B(v, 'encodeURIComponent')
                            } else
                                h = B(v, 'encodeURI')
                        } else
                            h = B(v, 'decodeURIComponent')
                    } else
                        h = B(v, 'decodeURI')
                } else
                    h = B(v, 'parseInt')
            } else
                h = B(v, 'parseFloat')
        } else
            h = a;
        return h
    }
    function Ea() {
        var a = ja();
        if (!q(a))
            return a.c;
        try {
            a = q(window["phantom"]) || q(window["phantom"]["injectJs"]) ? null : B(v, "phantom.injectJs")
        } catch (c) {
            a = null
        }
        if (!q(a))
            return a.c;
        try {
            a = q(context) || q(context["hashCode"]) ? null : B(v, "context.hashCode")
        } catch (b) {
            a = null
        }
        return q(a) ? null : a.c
    }
    function ka() {
        for (var a = [], c = 0; 3 > c; c++) {
            var b = Math.random() * Fa
            var b = Math.floor(b);
            a.push(la.charAt(b))
        }
        return a.join("")
    }
    function H(a) {
        for (var c = (w['cookie'] || "").split("; "), d = 0; d < c.length; d++) {
            var e = c[d].indexOf("=");
            if (0 <= e) {
                var g = c[d].substring(e + (1), c[d].length);
                if (c[d].substring(0, e) == a)
                    return window.decodeURIComponent(g)
            }
        }
        return null
    }
    function ma(a) {
        var c = ['v', 'fp', 'u', 'h', 'ec', 'em', 'icp']
        var h = "";
        if (null == a || undefined == a)
            return a;
        if (typeof a == ['ob', 'je', 'ct'].join("")) {
            for (var h = h + '{', l = 0; l < c.length; l++)
                if (a.hasOwnProperty(c[l])) {
                    var k = "'" + c[l] + "':'", m;
                    m = "" + a[c[l]];
                    m = null == m || undefined == m ? m : m.replace(/'/g, "\'").replace(/"/g, '"');
                    h += k + m + "',"
                }
            h.charAt(h.length - (1)) == ',' && (h = h.substring(0, h.length - (1)));
            return h += "}"
        }
        return null
    }
    function Y(a, c, h, g) {
        var k = [];
        k.push(a + "=" + encodeURIComponent(c));
        h && (a = new Date,
        a = new Date(g),
        g = a['toGMTString'](),
        k.push("; "),
        k.push("ex"),
        k.push("pi"),
        k.push("re"),
        k.push("s="),
        k.push(g));
        k.push("; ");
        k.push("pa");
        k.push("th=/");
        null != A && undefined != A && A != "" && (k.push("; "),
        k.push("do"),
        k.push("mai"),
        k.push("n="),
        k.push(A));
        w['cookie'] = k.join("")
    }
    function na(a) {
        window['jsessionidwytxzdl'] = a
    }
    function oa(a) {
        window[aa] = a
    }
    function pa(a) {
        for (var c = [], b = 0; 10 > b; b++)
            c.push(a);
        return c.join("")
    }
    function qa(a, c) {
        var b = H(a);
        null !== b && undefined !== b && b !== "" || Y(a, c, !(1))
    }
    function ra() {
        var a = H(M);
        if (null == a || undefined == a || a == "")
            a = window[aa];
        return a
    }
    function Ga() {
        var a = ra();
        if (null == a || undefined == a || a == "")
            return !((988005482 ^ 1697603625) + (1947420532 ^ -736092982));
        try {
            return (a = parseInt(a)) && a >= S ? !((-353673048 ^ -537764554) + (595474805 ^ -375850217)) : !((1867058221 ^ 1255841347) + (787309547 ^ -192868744))
        } catch (c) {
            return !((805963696 ^ 1162924503) + (-2086186708 ^ 151156918))
        }
    }
    function sa(a) {
        if (null == a || undefined == a || a == "")
            return null;
        a = a.split(":");
        return 2 > a.length || !/[0-9]+/gi.test(a[1]) ? null : parseInt(a[1])
    }
    function N() {
        var a = H(J);
        if (null == a || undefined == a || a == "")
            a = window['jsessionidwytxzdl'];
        return a
    }
    function Ha() {
        var a = N();
        if (null == a || undefined == a || a == "")
            return 0;
        a = sa(a);
        return null == a ? 0 : a - (ba - ca) - (new (window['Date']))["getTime"]()
    }
    function ta(a, c) {
        var e = new (window['Date']);
        e["setTime"](e['getTime']() - (10000));
        null == c || undefined == c || c == "" ? window["document"]['cookie'] = a + "=null; path=/; expires=" + e['toGMTString']() : window["document"]['cookie'] = a + '=null; path=/; domain=' + c + "; expires=" + e['toGMTString']()
    }
    function ua() {
        if (!(null == F || undefined == F || 0 >= F.length))
            for (var a = 0; a < F.length; a++) {
                var c = F[a];
                (null != A && undefined != A && A != "" || null != c && void ((-1868500781 ^ -135182247) + (-1053388676 ^ 1503188746)) != c && c != "") && A != c && (ta(J, c),
                ta(M, c))
            }
    }
    function da() {
        ua();
        window[aa] = null;
        window['jsessionidwytxzdl'] = null;
        var a = !(0)
        var c = {
            v: "v1.1"
        }
        var h = Ea();
        h && (c["icp"] = h);
        h = null;
        c["h"] = Ia;
        var l = new Date().getTime() + ba
        var k = l + 15768E7;
        c["u"] = ka() + l + ka();
        try {
            var m = (new Aa({
                b: Ja,
                a: Ka
            })).get();
            null != m && undefined != m && 0 < m.length ? c["fp"] = m.join(",") : (c["fp"] = pa("0"),
            c["ec"] = "1",
            a = false)
        } catch (p) {
            c["fp"] = pa("0"),
            c["ec"] = "1",
            a = false
        }
        // debugger
        try {
            var q = h = ma(c)
            var c = La;
            if (null == c || undefined == c)
                throw Error("1008");
            if (null == q || undefined == q)
                q = "";
            var m = q, n;
            n = null == q ? ea([]) : ea(V(q));
            var r = V(m + n)
            var v = V(c);
            null == r && (r = []);
            n = [];
            for (c = 0; 4 > c; c++) {
                var w = 256 * Math.random()
                var w = Math.floor(w);
                n[c] = z(w)
            }
            var v = U(v), v = W(v, U(n)), w = v = U(v), x;
            if (null == r || undefined == r || 0 == r.length)
                x = ga();
            else {
                var u = r.length
                var c = 0
                var c = 60 >= u % (64) ? 64 - u % (64) - (4) : 128 - u % (64) - (4)
                var m = [];
                E(r, m, 0, u);
                for (r = 0; r < c; r++)
                    m[u + r] = 0;
                E(ha(u), m, u + c, 4);
                x = m
            }
            u = x;
            if (null == u || 0 != u.length % (64))
                throw Error("1005");
            x = [];
            for (var r = 0, y = u.length / (64), c = 0; c < y; c++)
                for (x[c] = [],
                m = 0; 64 > m; m++)
                    x[c][m] = u[r++];
            y = [];
            // debugger
            E(n, y, 0, 4);
            for (var A = x.length, u = 0; u < A; u++) {
                var t, B;
                var D = x[u];
                if (null == D)
                    B = null;
                else {
                    var F = z(-10);
                    n = [];
                    for (var I = D.length, r = 0; r < I; r++)
                        n.push(za(D[r], F++));
                    B = n
                }
                n = B;
                if (null == n)
                    t = null;
                else {
                    for (var K = z(11), r = [], L = n.length, c = 0; c < L; c++)
                        r.push(ia(n[c], K--));
                    t = r
                }
                var H = W(t, v), P;
                n = H;
                r = w;
                if (null == n)
                    P = null;
                else if (null == r)
                    P = n;
                else {
                    for (var c = [], N = r.length, m = 0, O = n.length; m < O; m++)
                        c[m] = z(n[m] + r[m % N]);
                    P = c
                }
                var H = W(P, w)
                var Q = G(H)
                var Q = G(Q);
                E(Q, y, (64) * u + (4), 64);
                w = Q
            }
            var T;
            // if (null == y || undefined == y) {
            //     console.log('1');
            //     T = null;
            // } else if (0 == y.length) {
            //     console.log('2');
            //     T = "";
            // } else {
            //     console.log('3');
                try {
                    A = [];
                    for (t = 0; t < y.length;)
                        if (t + (3) <= y.length)
                            A.push(fa(y, t, 3)),
                                t += 3;
                        else {
                            A.push(fa(y, t, y.length - t));
                            break
                        }
                    T = A.join("")
                } catch (X) {
                    throw Error('1010');
                }
            // }
            h = T
        } catch (R) {
            console.log('catch');
            // h = ma({
            //     ec: "2",
            //     em: R.message
            // }),
            // a = !((-359800101 ^ -1876264175) + (1649950039 ^ -419407008))
        }
        // debugger
        h = h + ':' + l;
        // Y(J, h, a, k);
        // qa(J, h);
        na(h);
        result = h;
        // debugger
        // Y(M, S, a, k);
        // qa(M, S);
        // oa(S);
        // debugger
        // window['setTimeout'] && window['setTimeout'](da, ca)
    }
    p.prototype = {
        toString: function() {
            console.log(this.f);
            console.log(this.c);
            console.log(this.g);
            return "{'name':" + this.f + ", 'code':" + this.c + ", 'browserProp':" + this.g + "}"
        }
    };
    debugger
    // console.log('1')
    var v = [new p('window','0000'), new p('document','0001'), new p('navigator','0002'), new p('location','0003'), new p('history','0004'), new p('screen',"0007"), new p("parent","0008"), new p("top","0009"), new p("self","0010"), new p("parseFloat","0100"), new p("parseInt","0101"), new p("decodeURI","0102"), new p("decodeURIComponent","0103"), new p("encodeURI","0104"), new p("encodeURIComponent","0105"), new p("escape","0106"), new p("unescape","0107"), new p("eval","0108"), new p("_phantom","0200",false), new p("callPhantom","0201",false), new p("phantom","0202",false), new p("phantom.injectJs","0203",false), new p("context.hashCode","0211",false)]
    var Ca = ja() ? false : true
    var Ia = "dl.reg.163.com" // window && window['location'] && window['location'].host || "not_exist_host"
    var w = window['document']
    var D = window['navigator']
    var O = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"]
    var wa = [0, 1996959894, 3993919788, 2567524794, 124634137, 1886057615, 3915621685, 2657392035, 249268274, 2044508324, 3772115230, 2547177864, 162941995, 2125561021, 3887607047, 2428444049, 498536548, 1789927666, 4089016648, 2227061214, 450548861, 1843258603, 4107580753, 2211677639, 325883990, 1684777152, 4251122042, 2321926636, 335633487, 1661365465, 4195302755, 2366115317, 997073096, 1281953886, 3579855332, 2724688242, 1006888145, 1258607687, 3524101629, 2768942443, 901097722, 1119000684, 3686517206, 2898065728, 853044451, 1172266101, 3705015759, 2882616665, 651767980, 1373503546, 3369554304, 3218104598, 565507253, 1454621731, 3485111705, 3099436303, 671266974, 1594198024, 3322730930, 2970347812, 795835527, 1483230225, 3244367275, 3060149565, 1994146192, 31158534, 2563907772, 4023717930, 1907459465, 112637215, 2680153253, 3904427059, 2013776290, 251722036, 2517215374, 3775830040, 2137656763, 141376813, 2439277719, 3865271297, 1802195444, 476864866, 2238001368, 4066508878, 1812370925, 453092731, 2181625025, 4111451223, 1706088902, 314042704, 2344532202, 4240017532, 1658658271, 366619977, 2362670323, 4224994405, 1303535960, 984961486, 2747007092, 3569037538, 1256170817, 1037604311, 2765210733, 3554079995, 1131014506, 879679996, 2909243462, 3663771856, 1141124467, 855842277, 2852801631, 3708648649, 1342533948, 654459306, 3188396048, 3373015174, 1466479909, 544179635, 3110523913, 3462522015, 1591671054, 702138776, 2966460450, 3352799412, 1504918807, 783551873, 3082640443, 3233442989, 3988292384, 2596254646, 62317068, 1957810842, 3939845945, 2647816111, 81470997, 1943803523, 3814918930, 2489596804, 225274430, 2053790376, 3826175755, 2466906013, 167816743, 2097651377, 4027552580, 2265490386, 503444072, 1762050814, 4150417245, 2154129355, 426522225, 1852507879, 4275313526, 2312317920, 282753626, 1742555852, 4189708143, 2394877945, 397917763, 1622183637, 3604390888, 2714866558, 953729732, 1340076626, 3518719985, 2797360999, 1068828381, 1219638859, 3624741850, 2936675148, 906185462, 1090812512, 3747672003, 2825379669, 829329135, 1181335161, 3412177804, 3160834842, 628085408, 1382605366, 3423369109, 3138078467, 570562233, 1426400815, 3317316542, 2998733608, 733239954, 1555261956, 3268935591, 3050360625, 752459403, 1541320221, 2607071920, 3965973030, 1969922972, 40735498, 2617837225, 3943577151, 1913087877, 83908371, 2512341634, 3803740692, 2075208622, 213261112, 2463272603, 3855990285, 2094854071, 198958881, 2262029012, 4057260610, 1759359992, 534414190, 2176718541, 4139329115, 1873836001, 414664567, 2282248934, 4279200368, 1711684554, 285281116, 2405801727, 4167216745, 1634467795, 376229701, 2685067896, 3608007406, 1308918612, 956543938, 2808555105, 3495958263, 1231636301, 1047427035, 2932959818, 3654703836, 1088359270, 936918000, 2847714899, 3736837829, 1202900863, 817233897, 3183342108, 3401237130, 1404277552, 615818150, 3134207493, 3453421203, 1423857449, 601450431, 3009837614, 3294710456, 1567103746, 711928724, 3020668471, 3272380065, 1510334235, 755167117]
    var va = [45, -10, 81, 2, 0, 90, -24, 96, 119, -51, -104, 19, 102, 74, -8, 94, -22, -99, -17, -89, -126, -31, -40, 1, -107, -68, -32, 116, 15, -13, -95, 126, -34, 107, -47, 11, 88, -28, -74, -57, -81, 122, 123, 120, 56, 76, -82, -85, -54, -76, -5, 50, -44, -16, 99, 53, 36, -83, 23, -101, -7, 113, 115, -78, -120, 92, -50, 111, -2, 114, -121, 47, -20, 38, -38, -60, -124, -56, -55, 25, 84, 70, -52, -62, 106, -14, 14, -46, 77, 86, 10, 93, 7, -98, 34, -84, -33, -64, 32, 110, -41, -53, -45, 60, -25, -49, -48, -37, 78, -127, -122, -118, 63, 127, -69, 40, -35, -113, 100, 58, -30, 55, -70, -116, -86, 24, 4, 39, 33, 18, 83, -94, 54, -71, 44, -73, -108, 12, 79, -105, 57, 20, 67, 21, -111, -102, 43, 91, 62, -63, 13, 30, -23, -6, -87, -91, 5, 66, -90, -42, -77, 3, -115, -58, 26, 69, -97, -106, 82, -93, -61, -12, 49, -72, -123, 108, -79, -43, 121, 73, -88, -75, 42, 6, -9, -19, -11, -27, -67, 101, 80, -112, 87, 103, -125, -4, -26, 51, 104, 16, 64, 98, 125, -92, -65, 52, -117, 72, -66, 8, -36, -59, 35, -3, 17, 118, -96, 29, 117, 65, 48, 109, -39, 112, -110, 41, -119, 105, 89, -109, 97, 71, 61, -21, -29, -1, 31, -15, 37, -80, 85, -18, 59, -103, -128, 28, 95, -114, 22, 9, -100, 46, 124, 68, 75, 27]
    var La = '14734f60c650b14ccCbB4638bfDC0A43CDd840eFA42Daa'
    var J = 'JSESSIONID-WYTXZDL'
    var M = '_ihtxzdilxldP8_'
    var S = (-1052603347 ^ -819159722) + (-216405093 ^ 42468664)
    var la = 'aZbY0cXdW1eVf2Ug3Th4SiR5jQk6PlO7mNn8MoL9pKqJrIsHtGuFvEwDxCyBzA'
    var Fa = la.length
    var ba = 600000
    var ca = 540000
    var Ka = !(1)
    var Ja = !(0)
    var A = ""
    var Z = J.replace(/[^a-zA-Z0-9$]/g, "").toLowerCase()
    var aa = M.replace(/[^a-zA-Z0-9$]/g, "").toLowerCase()
    var K = window && window['location'] && window['location']['hostname'] || 'not_exist_hostname'
    var F = function(a) {
            var c = [];
            if (!a)
                return c;
            a = a.split(".");
            for (var d = "", e = 0; e < a.length; e++)
                e < a.length - (1) && (d = "." + a[a.length - (1) - e] + d,
                c.push(d));
            return c
        }(K);
    debugger
    // console.log('2')
    F.push(null);
    F.push("." + K);
    1 < function(a) {
        for (var b = 0, h = (w['cookie'] || "").split("; "), l = 0; l < h.length; l++) {
            var k = h[l].indexOf("=");
            0 <= k && h[l].substring(0, k) == a && (b += 1)
        }
        return b
    }(J) && ua();
    // console.log('3');
    (function() {
        var a = N();
        if (null == a || undefined == a || a == "")
            a = !(1);
        else {
            var b;
            if (b = Ga())
                a = sa(a),
                b = !(null == a || a - new Date().getTime() <= ba - ca);
            a = b
        }
        // console.log('4');
        return a
    }
    )() ? (na(N()),
    oa(ra()),
    K = Ha(),
    window['setTimeout'] && window['setTimeout'](da, K)) : da()
})()

没转义完,花在这上面的时间太久了不想再耗下去了。

python 解析js:

def get_jsessionid_wytxzdl():
    # 默认环境
    # import execjs
    # default = execjs.get() # the automatically picked runtime
    # default.eval("1 + 2")
    # print(execjs.get().name)
    #
    # JScript 环境
    # import execjs.runtime_names
    # jscript = execjs.get(execjs.runtime_names.JScript)
    # jscript.eval("1 + 2")
    # print(execjs.get().name)

    # Node 环境
    import execjs
    node = execjs.get(execjs.runtime_names.Node)
    # node.eval("1 + 2")
    # print(execjs.get().name)

    # s = "(function() { var result = '';return result + '333'; }) ()"
    s = '''
    (function() {
        const jsdom = require("jsdom");
        const { JSDOM } = jsdom;
        const dom = new JSDOM(`<!DOCTYPE html><p>Hello world</p>`);
        window = dom.window;
        document = window.document;
        XMLHttpRequest = window.XMLHttpRequest;
        var result = null;
        function G(a) {
            if (null == a)
                return null;
            for (var c = [], h = 0, d = a.length; h < d; h++) {
                var b = a[h];
                c[h] = va[16 * (b >>> 4 & 15) + (b & 15)]
            }
            return c
        }
        function U(a) {
            var c = [];
            if (null == a || undefined == a || 0 == a.length)
                return ga();
            if (64 <= a.length) {
                c = [];
                if (null != a && 0 != a.length) {
                    if (64 > a.length)
                        throw Error("1003");
                    for (var h = 0; 64 > h; h++)
                        c[h] = a[h]
                }
                return c
            }
            for (h = 0; 64 > h; h++)
                c[h] = a[h % a.length];
            return c
        }
        function ea(a) {
            var c = 4294967295;
            if (null != a)
                for (var h = 0; h < a.length; h++)
                    c = c >>> 8 ^ wa[(c ^ a[h]) & 255];
            a = ha(c ^ 4294967295);
            c = a.length;
            if (null == a || 0 > c)
                a = new String("");
            else {
                for (var h = [], d = 0; d < c; d++)
                    h.push(xa(a[d]));
                a = h.join("")
            }
            return a
        }
        function fa(a, c, h) {
            var l, k = ["N", "w", "7", "4", "K", "6", "G", "R", "5", "W", "J", "t", "1", "V", "Z", "S", "3", "8", "O", "u", "T", "l", "s", "g", "I", "k", "e", "c", "+", "M", "A", "9", "i", "n", "B", "\", "Q", "D", "U", "p", "E", "q", "b", "j", "y", "P", "X", "d", "h", "2", "Y", "x", "o", "0", "L", "r", "/", "a", "H", "m", "F", "f", "z", "v"], m = "C", C = [];
            if (1 == h)
                h = a[c],
                l = 0,
                C.push(k[h >>> 2 & 63]),
                C.push(k[(h << 4 & 48) + (l >>> 4 & 15)]),
                C.push(m),
                C.push(m);
            else if (2 == h)
                h = a[c],
                l = a[c + 1],
                a = 0,
                C.push(k[h >>> 2 & 63]),
                C.push(k[(h << 4 & 48) + (l >>> 4 & 15)]),
                C.push(k[(l << 2 & 60) + (a >>> 6 & 3)]),
                C.push(m);
            else if (3 == h)
                h = a[c],
                l = a[c + 1],
                a = a[c + 2],
                C.push(k[h >>> 2 & 63]),
                C.push(k[(h << 4 & 48) + (l >>> 4 & 15)]),
                C.push(k[(l << 2 & 60) + (a >>> 6 & 3)]),
                C.push(k[a & 63]);
            else
                throw Error("1010");
            return C.join("")
        }
        function ga() {
            for (var a = [], c = 0; 64 > c; c++)
                a[c] = 0;
            return a
        }
        function E(a, c, d, b) {
            if (null != a && 0 != a.length) {
                if (null == c)
                    throw Error("1004");
                if (a.length < b)
                    throw Error("1003");
                for (var e = 0; e < b; e++)
                    c[d + e] = a[0 + e]
            }
        }
        function ha(a) {
            var c = [];
            c[0] = a >>> 24 & 255;
            c[1] = a >>> 16 & 255;
            c[2] = a >>> 8 & 255;
            c[3] = a & 255;
            return c
        }
        function V(a) {
            if (null == a || undefined == a)
                return a;
            a = encodeURIComponent(a);
            for (var c = [], b = a.length, g = 0; g < b; g++)
                if (a.charAt(g) == "%")
                    if (g + 2 < b)
                        c.push(ya(a.charAt(++g) + "" + a.charAt(++g))[0]);
                    else
                        throw Error("1009");
                else
                    c.push(a.charCodeAt(g));
            return c
        }
        function ya(a) {
            if (null == a || 0 == a.length)
                return [];
            a = new String(a);
            for (var c = [], d = a.length / 2, b = 0, e = 0; e < d; e++) {
                var f = parseInt(a.charAt(b++), 16) << 4
                var g = parseInt(a.charAt(b++), 16);
                c[e] = z(f + g)
            }
            return c
        }
        function xa(a) {
            var c = [];
            c.push(O[a >>> 4 & 15]);
            c.push(O[a & 15]);
            return c.join("")
        }
        function W(a, c) {
            if (null == a || null == c || a.length != c.length)
                return a;
            for (var d = [], b = 0, e = a.length; b < e; b++)
                d[b] = ia(a[b], c[b]);
            return d
        }
        function ia(a, c) {
            a = z(a);
            c = z(c);
            return z(a ^ c)
        }
        function za(a, c) {
            return z(a + c)
        }
        function z(a) {
            if (-128 > a)
                return z(128 - (-128 - a));
            if (-128 <= a && 127 >= a)
                return a;
            if (127 < a)
                return z(-129 + a - (127));
            throw Error("1001");
        }
        function Aa(a) {
            function c() {
                for (var a = ["Abadi MT Condensed Light", "Adobe Fangsong Std", "Adobe Hebrew", "Adobe Ming Std", "Agency FB", "Arab", "Arabic Typesetting", "Arial Black", "Batang", "Bauhaus 93", "Bell MT", "Bitstream Vera Serif", "Bodoni MT", "Bookman Old Style", "Braggadocio", "Broadway", "Calibri", "Californian FB", "Castellar", "Casual", "Centaur", "Century Gothic", "Chalkduster", "Colonna MT", "Copperplate Gothic Light", "DejaVu LGC Sans Mono", "Desdemona", "DFKai-SB", "Dotum", "Engravers MT", "Eras Bold ITC", "Eurostile", "FangSong", "Forte", "Franklin Gothic Heavy", "French Script MT", "Gabriola", "Gigi", "Gisha", "Goudy Old Style", "Gulim", "GungSeo", "Haettenschweiler", "Harrington", "Hiragino Sans GB", "Impact", "Informal Roman", "KacstOne", "Kino MT", "Kozuka Gothic Pr6N", "Lohit Gujarati", "Loma", "Lucida Bright", "Lucida Fax", "Magneto", "Malgun Gothic", "Matura MT Script Capitals", "Menlo", "MingLiU-ExtB", "MoolBoran", "MS PMincho", "MS Reference Sans Serif", "News Gothic MT", "Niagara Solid", "Nyala", "Palace Script MT", "Papyrus", "Perpetua", "Playbill", "PMingLiU", "Rachana", "Rockwell", "Sawasdee", "Script MT Bold", "Segoe Print", "Showcard Gothic", "SimHei", "Snap ITC", "TlwgMono", "Tw Cen MT Condensed Extra Bold", "Ubuntu", "Umpush", "Univers", "Utopia", "Vladimir Script", "Wide Latin", "仿宋", "华文中宋", "华文仿宋", "华文宋体", "华文彩云", "华文新魏", "华文楷体", "华文琥珀", "华文细黑", "华文行楷", "华文隶书", "宋体", "幼圆", "微软雅黑", "新宋体", "方正姚体", "方正舒体", "楷体", "隶书", "黑体", "新细明体", "细明体", "标楷体", "仿宋_GB2312", "楷体_GB2312", "微软正黑体", "华文黑体", "丽黑 Pro", "丽宋 Pro", "苹果丽中黑", "苹果丽细宋"], c = [], l = (221732236 ^ 1768600746) + (13995017 ^ -1686660397); l < a.length; l++) {
                    try {
                        var k = a[l];
                        h()(k) && c.push(k)
                    } catch (m) {
                        "font detect error"
                    }
                }
                return c.join(";")
            }
            function h() {
                function a(c) {
                    var b = {};
                    return m.style.fontFamily = c,
                    k.appendChild(m),
                    b.height = m.offsetHeight,
                    b.width = m.offsetWidth,
                    k.removeChild(m),
                    b
                }
                var c = ["monospace", "sans-serif", "serif"]
                var h = []
                var f = 'wwwmmmmmmmmmmlli'
                var l = "72px"
                var k = w.body
                var m = w.createElement("span");
                m.style.fontSize = l;
                m.style.visibility = "hidden";
                m.innerHTML = f;
                for (f = 0; f < c.length; f++)
                    h[f] = a(c[f]);
                return function(b) {
                    for (var e = 0; e < h.length; e++) {
                        var f = a(b + ',' + c[e])
                        var g = h[e];
                        if (f.height !== g.height || f.width !== g.width)
                            return true
                    }
                    return false
                }
            }
            function l() {
                var a = null
                var c = null
                var h = [];
                try {
                    c = w.createElement('canvas'),
                    a = c["getContext"]("webgl") || c['getContext']("experimental-webgl")
                } catch (g) {}
                if (!a)
                    return h;
                try {
                    h.push(a.getSupportedExtensions())
                } catch (l) {}
                try {
                    h.push(k(a, c))
                } catch (m) {}
                return h.join(";")
            }
            function k(a, c) {
                try {
                    var b = '"attribute vec2 attrVertex; varying vec2 varyinTexCoordinate; uniform vec2 uniformOffset; void main() {   varyinTexCoordinate = attrVertex + uniformOffset;   gl_Position = vec4(attrVertex, 0, 1); }"'
                    var e = "precision mediump float; varying vec2 varyinTexCoordinate; void main() {   gl_FragColor = vec4(varyinTexCoordinate, 0, 1); }"
                    var h = a.createBuffer();
                    a.bindBuffer(a.ARRAY_BUFFER, h);
                    var l = new Float32Array([-.2, -.9, (1154459184 ^ 1722187078) + (876371114 ^ -374704096), .4, -.26, (148606208 ^ 138266317) + (-1575608499 ^ 1561308030), (1303945517 ^ 127866573) + (-929346260 ^ 2101544204), .732134444, (-1406890025 ^ -410937654) + (80912891 ^ -1333246184)]);
                    a.bufferData(a.ARRAY_BUFFER, l, a.STATIC_DRAW);
                    h.k = (-1682921581 ^ -976538249) + (-565395890 ^ 2143867729);
                    h.l = (-863694944 ^ -201830267) + (-1798317141 ^ 1414364021);
                    var k = a.createProgram()
                    var m = a.createShader(a.VERTEX_SHADER);
                    a.shaderSource(m, b);
                    a.compileShader(m);
                    var n = a.createShader(a.FRAGMENT_SHADER);
                    return a.shaderSource(n, e),
                    a.compileShader(n),
                    a.attachShader(k, m),
                    a.attachShader(k, n),
                    a.linkProgram(k),
                    a.useProgram(k),
                    k.n = a.getAttribLocation(k, "attrVertex"),
                    k.m = a.getUniformLocation(k, "uniformOffset"),
                    a.enableVertexAttribArray(k.o),
                    a.vertexAttribPointer(k.n, h.k, a.FLOAT, false, 0, 0),
                    a.uniform2f(k.m, 1, 1),
                    a.drawArrays(a.TRIANGLE_STRIP, 0, h.l),
                    I(c["toDataURL"]())
                } catch (r) {
                    return "webgl exception"
                }
            }
            function m() {
                var a = w.createElement("div")
                var c = []
                var h = ["ActiveBorder", "ActiveCaption", "AppWorkspace", "Background", "ButtonFace", "ButtonHighlight", "ButtonShadow", "ButtonText", "CaptionText", "GrayText", "Highlight", "HighlightText", "InactiveBorder", "InactiveCaption", "InactiveCaptionText", "InfoBackground", "InfoText", "Menu", "MenuText", "Scrollbar", "ThreeDDarkShadow", "ThreeDFace", "ThreeDHighlight", "ThreeDLightShadow", "ThreeDShadow", "Window", "WindowFrame", "WindowText"];
                // debugger
                if (!window["getComputedStyle"])
                    return c.join("");
                for (var l = 0; l < h.length; l++)
                    try {
                        w.body.appendChild(a),
                        a.style.color = h[l],
                        c.push(h[l]),
                        c.push(window["getComputedStyle"](a).getPropertyValue("color")),
                        w.body.removeChild(a)
                    } catch (k) {
                        c.push("get system colors exception")
                    }
                return c.join(":")
            }
            function p() {
                try {
                    var a = w.createElement('canvas')
                    var c = a['getContext']("2d")
                    var h = 'mwC nkbafjord phsgly exvt zqiu, ὠ tphst/:/uhbgtic.mo/levva';
                    c.textBaseline = "top";
                    c.font = "70px 'Arial'";
                    c.textBaseline = "alphabetic";
                    c.fillStyle = "#f60";
                    c.fillRect((1268164136 ^ 1739110132) + (-745390772 ^ 5493485), (-407812768 ^ -1718695222) + (1779383103 ^ -338736280), (-1373953807 ^ -256811912) + (713024421 ^ -1960157168), (1908576397 ^ 2116563786) + (2082159383 ^ -1945213094));
                    c.fillStyle = "#069";
                    c.fillText(h, (1874680904 ^ 1208149297) + (-885966739 ^ 326205156), (-1299411938 ^ -1145292397) + (1797629143 ^ -1645547947));
                    c.fillStyle = "rgba(102, 204, 0, 0.7)";
                    c.fillText(h, (-1366334440 ^ -1594520078) + (-1993082207 ^ 2025254075), (1396373797 ^ 1829272982) + (648779804 ^ -412687550));
                    return a["toDataURL"]()
                } catch (l) {
                    return "canvas api exception"
                }
            }
            function q() {
                try {
                    return window['ActiveXObject'] && t.h ? r() : n()
                } catch (a) {
                    return "get plugin string exception"
                }
            }
            function n() {
                if (!D['plugins'])
                    return "";
                var a = ['4game']
                var c = []
                var h = {};
                c.push(x(D['plugins'], function(a) {
                    h[a.name] = (258305041 ^ 1405052248) + (716970597 ^ -1986401059);
                    var c = x(a, function(a) {
                        return [a.type, a.suffixes].join("~")
                    }).join(',');
                    return [a.name, a.description, c].join("::")
                }, this).join('$'));
                c.push(x(a, function(a) {
                    if (h[a])
                        return "";
                    a = D['plugins'][a];
                    if (!a)
                        return "";
                    var c = x(a, function(a) {
                        return [a.type, a.suffixes].join('~')
                    }).join(',');
                    return [a.name, a.description, c].join('::')
                }, this).join(';'));
                return c.join(';')
            }
            function r() {
                if (window['ActiveXObject']) {
                    var a = ['AcroPDF.PDF'];
                    return x(a, function(a) {
                        try {
                            return new (window['ActiveXObject'])(a),
                            a
                        } catch (c) {
                            return null
                        }
                    }).join(';')
                }
                return ""
            }
            function Ba() {
                try {
                    return !!window['sessionStorage']
                } catch (a) {
                    return true
                }
            }
            function v() {
                try {
                    return !!window['localStorage']
                } catch (a) {
                    return !((1749473834 ^ 257369467) + (213652895 ^ -1806559952))
                }
            }
            function x(a, c, b) {
                var h = [];
                if (null == a)
                    return h;
                if (z && a.map === z)
                    return a.map(c, b);
                u(a, function(a, d, e) {
                    h[h.length] = c.call(b, a, d, e)
                });
                return h
            }
            function u(a, c) {
                if (null !== a)
                    if (y && a.forEach === y)
                        a.forEach(c, void ((-1814022259 ^ -1132759104) + (-654053675 ^ 157765990)));
                    else if (a.length === +a.length)
                        for (var b = (-1750601504 ^ -1164037797) + (-270480844 ^ 1025963121), h = a.length; b < h && c.call(void ((1261818358 ^ 1820088511) + (866227312 ^ -350756153)), a[b], b, a) !== {}; b++)
                            ;
                    else
                        for (b in a)
                            if (a.hasOwnProperty(b) && c.call(void ((94495259 ^ 954605776) + (2092789063 ^ -1106947982)), a[b], b, a) === {})
                                break
            }
            var y = Array.prototype.forEach
            var z = Array.prototype.map
            var t = {
                e: I,
                j: true,
                i: true,
                h: true,
                b: true,
                a: true
            };
            typeof a == "function" ? t.e = a : (null != a.b && void ((-1610373247 ^ -73931444) + (-1899380240 ^ 715291843)) != a.b && (t.b = a.b),
            null != a.a && void (0) != a.a && (t.a = a.a));
            this.get = function() {
                var a = []
                var h = [];
                if (Ca) {
                    a.push(Ba());
                    a.push(v());
                    a.push(!!window['indexedDB']);
                    w.body ? a.push(typeof w.body['addBehavior']) : a.push("undefined");
                    a.push(typeof window['openDatabase']);
                    a.push(D['cpuClass']);
                    a.push(D['platform']);
                    var k;
                    if (k = t.i)
                        try {
                            var n = w.createElement('canvas');
                            k = !(!n['getContext'] || !n['getContext']("2d"))
                        } catch (r) {
                            k = false
                        }
                    if (k)
                        try {
                            a.push(p()),
                            t.b && a.push(l())
                        } catch (u) {
                            a.push('canvas exception')
                        }
                    // debugger
                    a.push(m());
                    t.a && h.push(c());
                    h.push(D['userAgent']);
                    h.push(D['language']);
                    h.push(window['screen']['colorDepth']);
                    t.j && (k = window['screen'] ? [window['screen'].height, window['screen'].width] : [(286235280 ^ 1044134674) + (1551151006 ^ -1934036512), (1988114007 ^ 440540729) + (1486575978 ^ -878276872)],
                    typeof k !== 'undefined' && h.push(k.join("x")));
                    h.push((new Date)['getTimezoneOffset']());
                    h.push(D['doNotTrack']);
                    h.push(q())
                }
                k = [];
                t.e ? (k.push(t.e(a.join("###"))),
                k.push(t.e(h.join("###")))) : (k.push(I(a.join("###"))),
                k.push(I(h.join("###"))));
                return k
            }
        }
        function I(a) {
            var c, h, l, k, m;
            c = a.length & (-899127448 ^ -1948860477) + (2041982003 ^ -940110997);
            h = a.length - c;
            l = (-1832389556 ^ -53061186) + (-1167627766 ^ 730413095);
            for (m = (1958021015 ^ 1468167512) + (-1416540156 ^ 2002378037); m < h; )
                k = a.charCodeAt(m) & (1716665447 ^ 1757556951) + (-654132943 ^ 678251902) | (a.charCodeAt(++m) & (-1405417567 ^ -612959661) + (2093948316 ^ -193126767)) << (1899937901 ^ 436073150) + (224418535 ^ -1705207854) | (a.charCodeAt(++m) & (1888927931 ^ 184267451) + (1239266521 ^ -867223002)) << (391207047 ^ 1141673650) + (-1490032918 ^ 193842993) | (a.charCodeAt(++m) & (-2030717444 ^ -1935143955) + (-246663398 ^ 82736628)) << (879695134 ^ 469978848) + (-1625924098 ^ 1216739812),
                ++m,
                k = 3432918353 * (k & (1022967910 ^ 322414968) + (1142306248 ^ -1809571031)) + ((3432918353 * (k >>> (580880591 ^ 297023887) + (158008334 ^ -977319202)) & (476966335 ^ 499485383) + (1717212569 ^ -1744696034)) << (-1602074718 ^ -1149799964) + (-132213560 ^ 471096578)) & 4294967295,
                k = k << (-1077789743 ^ -696038440) + (834936598 ^ -1485140208) | k >>> (-1718873804 ^ -679667948) + (171521858 ^ -1153970509),
                k = ((-875163839 ^ -820558994) + (-1178227560 ^ -1358936580)) * (k & (-2112357231 ^ -1111834872) + (-845503472 ^ 231282806)) + ((((1013694518 ^ 732524604) + (-800222424 ^ -745990495)) * (k >>> (-1611601328 ^ -869348969) + (306223839 ^ -1100921194)) & (-1705291243 ^ -959651021) + (261096400 ^ -1392947959)) << (-1887456127 ^ -943761264) + (-795951018 ^ 1739707305)) & 4294967295,
                l ^= k,
                l = l << (-1719737869 ^ -822933745) + (-1012767808 ^ 1808825041) | l >>> (-2052097324 ^ -113268653) + (-1979472975 ^ 158109245),
                l = ((-297595789 ^ -841389085) + (1817705528 ^ -1338874803)) * (l & (1776319387 ^ 1979096146) + (82472191 ^ -419400503)) + ((((-1003448561 ^ -146730396) + (-309714911 ^ 553933499)) * (l >>> (1998678336 ^ 674340888) + (509788541 ^ -1097992251)) & (-1439533718 ^ -2146219151) + (2032812082 ^ -1393196586)) << (-328071596 ^ -458053346) + (1720223092 ^ -1850223182)) & 4294967295,
                l = (l & (326559225 ^ 105328936) + (-1505286150 ^ 1283984596)) + ((-879590363 ^ -842235868) + (-835745442 ^ 932048445)) + (((l >>> (1338725410 ^ 239739607) + (1318588487 ^ -253322916)) + ((-1533194994 ^ -1924725687) + (2977495 ^ -703859750)) & (-604208061 ^ -1200612319) + (1683164164 ^ -131634279)) << (887365018 ^ 842147116) + (1881459099 ^ -1995632959));
            k = (-1182341341 ^ -1739570548) + (224272902 ^ -747145129);
            switch (c) {
            case (-863893280 ^ -1847959051) + (1769322255 ^ -875421215):
                k ^= (a.charCodeAt(m + ((133235623 ^ 981537151) + (-1641383080 ^ 1554355826))) & (-1993150140 ^ -1598960011) + (766176414 ^ -69849776)) << (1825644354 ^ 2026053802) + (-264614052 ^ 467111796);
            case (2086510451 ^ 1316944285) + (400080209 ^ -637262779):
                k ^= (a.charCodeAt(m + ((-869722209 ^ -207479384) + (-385693262 ^ 695614584))) & (1340493803 ^ 34410887) + (-683648831 ^ 1700067922)) << (-1889231027 ^ -677583756) + (424461316 ^ -1102364469);
            case (-1527641635 ^ -835043345) + (49711226 ^ -1748942411):
                k ^= a.charCodeAt(m) & (1244098199 ^ 23881962) + (-1845779166 ^ 625958816),
                k = 3432918353 * (k & (-468918150 ^ -343677283) + (-1813964178 ^ 1670439798)) + ((3432918353 * (k >>> (2099164132 ^ 312776773) + (-379708665 ^ 2031865704)) & (-120663639 ^ -727383488) + (-57691982 ^ 790273188)) << (-1587117327 ^ -337037645) + (994347633 ^ -1909145153)) & 4294967295,
                k = k << (-1699692248 ^ -1613366701) + (-68738247 ^ 25028525) | k >>> (-2107492686 ^ -1959110360) + (-1208680020 ^ 1095930331),
                l ^= ((-2135937008 ^ -870005406) + (-926630508 ^ 104267189)) * (k & (448232145 ^ 1061006978) + (-553548742 ^ 91729814)) + ((((555717051 ^ 5224605) + (835340342 ^ -872594341)) * (k >>> (-1099163103 ^ -227273253) + (107549322 ^ -1247878500)) & (1539343893 ^ 2026550280) + (1058489250 ^ -471757248)) << (-595326703 ^ -136163043) + (-1651464063 ^ 1225326725)) & 4294967295
            }
            l ^= a.length;
            l ^= l >>> (982238979 ^ 1198191876) + (-227800083 ^ 1886569956);
            l = 2246822507 * (l & (864108209 ^ 341872627) + (-396420852 ^ 809523121)) + ((2246822507 * (l >>> (-1403865131 ^ -1170674491) + (365094367 ^ -61390625)) & (1185986593 ^ 1225563298) + (1133871160 ^ -1278125244)) << (1122936692 ^ 1066159889) + (-46189570 ^ 2141332565)) & 4294967295;
            l ^= l >>> (-1195767862 ^ -1458053809) + (-1916579186 ^ 1670477574);
            l = 3266489909 * (l & (-1580311422 ^ -1042033410) + (-1501970640 ^ 967493811)) + ((3266489909 * (l >>> (2029225717 ^ 519343345) + (-1024761772 ^ 1528010328)) & (961414019 ^ 541515715) + (299777518 ^ -148496815)) << (1272174459 ^ 1494824046) + (-1893379602 ^ 1645235477)) & 4294967295;
            a = (l ^ l >>> (1863109356 ^ 635787143) + (355355058 ^ -1606931689)) >>> (-15502460 ^ -85085357) + (-2000855009 ^ 1924947766);
            c = [];
            c.push(a);
            try {
                var p, q = a + "";
                for (l = m = h = (-1627882980 ^ -1485691805) + (2080575819 ^ -1166626614); l < q.length; l++)
                    try {
                        var n = parseInt(q.charAt(l) + "");
                        h = n || (1971308375 ^ 608137086) + (-394962557 ^ 1187647060) === n ? h + n : h + ((-1834846843 ^ -70102544) + (-1267382702 ^ 586849758));
                        m++
                    } catch (r) {
                        h += (-620346604 ^ -2025801136) + (-1495326501 ^ 90580582),
                        m++
                    }
                p = X(((142684991 ^ 639530332) + (-742872161 ^ 47714817)) * h / ((-602166144 ^ -1905510435) + (1502280115 ^ -201155312) == m ? (-1610043787 ^ -521734817) + (-647019758 ^ 1719592901) : m));
                var v, z = Math.floor(p / Math.pow((869243018 ^ 348265625) + (-770727855 ^ 184408998), (-2075358135 ^ -2001592976) + (987421653 ^ -908348131))), x = a + "";
                for (l = m = h = n = q = (780351706 ^ 2099111928) + (329270192 ^ -1077845138); l < x.length; l++)
                    try {
                        var u = parseInt(x.charAt(l) + "");
                        u || (1315882844 ^ 1114367940) + (1131583089 ^ -1333245671) === u ? u < z ? (n++,
                        q += u) : (m++,
                        h += u) : (m++,
                        h += z)
                    } catch (y) {
                        m++,
                        h += z
                    }
                m = 0 == m ? 1 : m;
                v = X((1) * h / m - (1) * q / (0 == n ? 1 : n));
                c.push(R(p, "0"));
                c.push(R(v, "0"))
            } catch (w) {
                c = [],
                c.push(a),
                c.push(L("-").join("")),
                c.push(L("-").join(""))
            }
            return c.join("")
        }
        function X(a) {
            if (0 > a || 10 <= a)
                throw Error('1110');
            var c = L("0");
            a = "" + a;
            for (var h = 0, b = 0; h < c.length && b < a.length; b++)
                a.charAt(b) != "." && (c[h++] = a.charAt(b));
            return parseInt(c.join(""))
        }
        function R(a, c) {
            var b = "" + a;
            if (2 < b.length)
                throw Error("1111");
            if (2 == b.length)
                return b;
            for (var d = [], g = b.length; 2 > g; g++)
                d.push(c);
            d.push(b);
            return d.join("")
        }
        function L(a) {
            for (var c = [], b = 0; 2 > b; b++)
                c.push(a);
            return c
        }
        function q(a) {
            return null == a || undefined == a
        }
        function p(a, c, b) {
            this.f = a;
            this.c = c;
            this.g = q(b) ? true : b
        }
        function Da(a) {
            if (q(a) || q(a.f) || q(a.c))
                return false;
            try {
                if (q(window[a.f]))
                    return false
            } catch (c) {
                return false
            }
            return true
        }
        function B(a, c) {
            if (q(a))
                return "";
            for (var b = 0; b < a.length; b++) {
                var d = a[b];
                if (!q(d) && d.f == c)
                    return d
            }
        }
        function ja() {
            var a;
            a: {
                if (!q(v))
                    for (a = 0; a < v.length; a++) {
                        var c = v[a];
                        if (c.g && !Da(c)) {
                            a = c;
                            break a
                        }
                    }
                a = null
            }
            debugger
            var h;
            if (q(a)) {
                try {
                    h = true; // 1.01 === window.parseFloat("1.01") && window.isNaN(window.parseFloat("HELLO"))
                } catch (l) {
                    h = !(1)
                }
                if (h) {
                    var k;
                    try {
                        k = true; // 123 === 123 && window.isNaN(window.parseInt('HELLO'))
                    } catch (m) {
                        k = !(1)
                    }
                    if (k) {
                        var p;
                        try {
                            p = true; // window.decodeURI("%22") === '"'
                        } catch (z) {
                            p = !(1)
                        }
                        if (p) {
                            var n;
                            try {
                                n = true; // window.decodeURIComponent("%26") === "&"
                            } catch (r) {
                                n = !(1)
                            }
                            if (n) {
                                var w;
                                try {
                                    w = true; // window.encodeURI('"') === "%22"
                                } catch (E) {
                                    w = !(1)
                                }
                                if (w) {
                                    var x;
                                    try {
                                        x = true; // window.encodeURIComponent("&") === "%26"
                                    } catch (u) {
                                        x = !(1)
                                    }
                                    if (x) {
                                        var y;
                                        try {
                                            y = true; // window.escape("&") === "%26"
                                        } catch (G) {
                                            y = !(1)
                                        }
                                        if (y) {
                                            var t;
                                            try {
                                                t = true; // window.unescape('%26') === "&"
                                            } catch (D) {
                                                t = !(1)
                                            }
                                            if (t) {
                                                var A;
                                                try {
                                                    A = 123 === window.eval('(function(){return 123;})();')
                                                } catch (F) {
                                                    A = !(1)
                                                }
                                                h = A ? null : B(v, 'eval')
                                            } else
                                                h = B(v, 'unescape')
                                        } else
                                            h = B(v, 'escape')
                                    } else
                                        h = B(v, 'encodeURIComponent')
                                } else
                                    h = B(v, 'encodeURI')
                            } else
                                h = B(v, 'decodeURIComponent')
                        } else
                            h = B(v, 'decodeURI')
                    } else
                        h = B(v, 'parseInt')
                } else
                    h = B(v, 'parseFloat')
            } else
                h = a;
            return h
        }
        function Ea() {
            var a = ja();
            if (!q(a))
                return a.c;
            try {
                a = q(window["phantom"]) || q(window["phantom"]["injectJs"]) ? null : B(v, "phantom.injectJs")
            } catch (c) {
                a = null
            }
            if (!q(a))
                return a.c;
            try {
                a = q(context) || q(context["hashCode"]) ? null : B(v, "context.hashCode")
            } catch (b) {
                a = null
            }
            return q(a) ? null : a.c
        }
        function ka() {
            for (var a = [], c = 0; 3 > c; c++) {
                var b = Math.random() * Fa
                var b = Math.floor(b);
                a.push(la.charAt(b))
            }
            return a.join("")
        }
        function H(a) {
            for (var c = (w['cookie'] || "").split("; "), d = 0; d < c.length; d++) {
                var e = c[d].indexOf("=");
                if (0 <= e) {
                    var g = c[d].substring(e + (1), c[d].length);
                    if (c[d].substring(0, e) == a)
                        return window.decodeURIComponent(g)
                }
            }
            return null
        }
        function ma(a) {
            var c = ['v', 'fp', 'u', 'h', 'ec', 'em', 'icp']
            var h = "";
            if (null == a || undefined == a)
                return a;
            if (typeof a == ['ob', 'je', 'ct'].join("")) {
                for (var h = h + '{', l = 0; l < c.length; l++)
                    if (a.hasOwnProperty(c[l])) {
                        var k = "'" + c[l] + "':'", m;
                        m = "" + a[c[l]];
                        m = null == m || undefined == m ? m : m.replace(/'/g, "\'").replace(/"/g, '"');
                        h += k + m + "',"
                    }
                h.charAt(h.length - (1)) == ',' && (h = h.substring(0, h.length - (1)));
                return h += "}"
            }
            return null
        }
        function Y(a, c, h, g) {
            var k = [];
            k.push(a + "=" + encodeURIComponent(c));
            h && (a = new Date,
            a = new Date(g),
            g = a['toGMTString'](),
            k.push("; "),
            k.push("ex"),
            k.push("pi"),
            k.push("re"),
            k.push("s="),
            k.push(g));
            k.push("; ");
            k.push("pa");
            k.push("th=/");
            null != A && undefined != A && A != "" && (k.push("; "),
            k.push("do"),
            k.push("mai"),
            k.push("n="),
            k.push(A));
            w['cookie'] = k.join("")
        }
        function na(a) {
            window['jsessionidwytxzdl'] = a
        }
        function oa(a) {
            window[aa] = a
        }
        function pa(a) {
            for (var c = [], b = 0; 10 > b; b++)
                c.push(a);
            return c.join("")
        }
        function qa(a, c) {
            var b = H(a);
            null !== b && undefined !== b && b !== "" || Y(a, c, !(1))
        }
        function ra() {
            var a = H(M);
            if (null == a || undefined == a || a == "")
                a = window[aa];
            return a
        }
        function Ga() {
            var a = ra();
            if (null == a || undefined == a || a == "")
                return !((988005482 ^ 1697603625) + (1947420532 ^ -736092982));
            try {
                return (a = parseInt(a)) && a >= S ? !((-353673048 ^ -537764554) + (595474805 ^ -375850217)) : !((1867058221 ^ 1255841347) + (787309547 ^ -192868744))
            } catch (c) {
                return !((805963696 ^ 1162924503) + (-2086186708 ^ 151156918))
            }
        }
        function sa(a) {
            if (null == a || undefined == a || a == "")
                return null;
            a = a.split(":");
            return 2 > a.length || !/[0-9]+/gi.test(a[1]) ? null : parseInt(a[1])
        }
        function N() {
            var a = H(J);
            if (null == a || undefined == a || a == "")
                a = window['jsessionidwytxzdl'];
            return a
        }
        function Ha() {
            var a = N();
            if (null == a || undefined == a || a == "")
                return 0;
            a = sa(a);
            return null == a ? 0 : a - (ba - ca) - (new (window['Date']))["getTime"]()
        }
        function ta(a, c) {
            var e = new (window['Date']);
            e["setTime"](e['getTime']() - (10000));
            null == c || undefined == c || c == "" ? window["document"]['cookie'] = a + "=null; path=/; expires=" + e['toGMTString']() : window["document"]['cookie'] = a + '=null; path=/; domain=' + c + "; expires=" + e['toGMTString']()
        }
        function ua() {
            if (!(null == F || undefined == F || 0 >= F.length))
                for (var a = 0; a < F.length; a++) {
                    var c = F[a];
                    (null != A && undefined != A && A != "" || null != c && void ((-1868500781 ^ -135182247) + (-1053388676 ^ 1503188746)) != c && c != "") && A != c && (ta(J, c),
                    ta(M, c))
                }
        }
        function da() {
            ua();
            window[aa] = null;
            window['jsessionidwytxzdl'] = null;
            var a = !(0)
            var c = {
                v: "v1.1"
            }
            var h = Ea();
            h && (c["icp"] = h);
            h = null;
            c["h"] = Ia;
            var l = new Date().getTime() + ba
            var k = l + 15768E7;
            c["u"] = ka() + l + ka();
            try {
                var m = (new Aa({
                    b: Ja,
                    a: Ka
                })).get();
                null != m && undefined != m && 0 < m.length ? c["fp"] = m.join(",") : (c["fp"] = pa("0"),
                c["ec"] = "1",
                a = false)
            } catch (p) {
                c["fp"] = pa("0"),
                c["ec"] = "1",
                a = false
            }
            // debugger
            try {
                var q = h = ma(c)
                var c = La;
                if (null == c || undefined == c)
                    throw Error("1008");
                if (null == q || undefined == q)
                    q = "";
                var m = q, n;
                n = null == q ? ea([]) : ea(V(q));
                var r = V(m + n)
                var v = V(c);
                null == r && (r = []);
                n = [];
                for (c = 0; 4 > c; c++) {
                    var w = 256 * Math.random()
                    var w = Math.floor(w);
                    n[c] = z(w)
                }
                var v = U(v), v = W(v, U(n)), w = v = U(v), x;
                if (null == r || undefined == r || 0 == r.length)
                    x = ga();
                else {
                    var u = r.length
                    var c = 0
                    var c = 60 >= u % (64) ? 64 - u % (64) - (4) : 128 - u % (64) - (4)
                    var m = [];
                    E(r, m, 0, u);
                    for (r = 0; r < c; r++)
                        m[u + r] = 0;
                    E(ha(u), m, u + c, 4);
                    x = m
                }
                u = x;
                if (null == u || 0 != u.length % (64))
                    throw Error("1005");
                x = [];
                for (var r = 0, y = u.length / (64), c = 0; c < y; c++)
                    for (x[c] = [],
                    m = 0; 64 > m; m++)
                        x[c][m] = u[r++];
                y = [];
                // debugger
                E(n, y, 0, 4);
                for (var A = x.length, u = 0; u < A; u++) {
                    var t, B;
                    var D = x[u];
                    if (null == D)
                        B = null;
                    else {
                        var F = z(-10);
                        n = [];
                        for (var I = D.length, r = 0; r < I; r++)
                            n.push(za(D[r], F++));
                        B = n
                    }
                    n = B;
                    if (null == n)
                        t = null;
                    else {
                        for (var K = z(11), r = [], L = n.length, c = 0; c < L; c++)
                            r.push(ia(n[c], K--));
                        t = r
                    }
                    var H = W(t, v), P;
                    n = H;
                    r = w;
                    if (null == n)
                        P = null;
                    else if (null == r)
                        P = n;
                    else {
                        for (var c = [], N = r.length, m = 0, O = n.length; m < O; m++)
                            c[m] = z(n[m] + r[m % N]);
                        P = c
                    }
                    var H = W(P, w)
                    var Q = G(H)
                    var Q = G(Q);
                    E(Q, y, (64) * u + (4), 64);
                    w = Q
                }
                var T;
                // if (null == y || undefined == y) {
                //     console.log('1');
                //     T = null;
                // } else if (0 == y.length) {
                //     console.log('2');
                //     T = "";
                // } else {
                //     console.log('3');
                    try {
                        A = [];
                        for (t = 0; t < y.length;)
                            if (t + (3) <= y.length)
                                A.push(fa(y, t, 3)),
                                    t += 3;
                            else {
                                A.push(fa(y, t, y.length - t));
                                break
                            }
                        T = A.join("")
                    } catch (X) {
                        throw Error('1010');
                    }
                // }
                h = T
            } catch (R) {
                console.log('catch');
                // h = ma({
                //     ec: "2",
                //     em: R.message
                // }),
                // a = !((-359800101 ^ -1876264175) + (1649950039 ^ -419407008))
            }
            // debugger
            h = h + ':' + l;
            // Y(J, h, a, k);
            // qa(J, h);
            na(h);
            result = h;
            // debugger
            // Y(M, S, a, k);
            // qa(M, S);
            // oa(S);
            // debugger
            // window['setTimeout'] && window['setTimeout'](da, ca)
        }
        p.prototype = {
            toString: function() {
                console.log(this.f);
                console.log(this.c);
                console.log(this.g);
                return "{'name':" + this.f + ", 'code':" + this.c + ", 'browserProp':" + this.g + "}"
            }
        };
        debugger
        // console.log('1')
        var v = [new p('window','0000'), new p('document','0001'), new p('navigator','0002'), new p('location','0003'), new p('history','0004'), new p('screen',"0007"), new p("parent","0008"), new p("top","0009"), new p("self","0010"), new p("parseFloat","0100"), new p("parseInt","0101"), new p("decodeURI","0102"), new p("decodeURIComponent","0103"), new p("encodeURI","0104"), new p("encodeURIComponent","0105"), new p("escape","0106"), new p("unescape","0107"), new p("eval","0108"), new p("_phantom","0200",false), new p("callPhantom","0201",false), new p("phantom","0202",false), new p("phantom.injectJs","0203",false), new p("context.hashCode","0211",false)]
        var Ca = ja() ? false : true
        var Ia = "dl.reg.163.com" // window && window['location'] && window['location'].host || "not_exist_host"
        var w = window['document']
        var D = window['navigator']
        var O = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"]
        var wa = [0, 1996959894, 3993919788, 2567524794, 124634137, 1886057615, 3915621685, 2657392035, 249268274, 2044508324, 3772115230, 2547177864, 162941995, 2125561021, 3887607047, 2428444049, 498536548, 1789927666, 4089016648, 2227061214, 450548861, 1843258603, 4107580753, 2211677639, 325883990, 1684777152, 4251122042, 2321926636, 335633487, 1661365465, 4195302755, 2366115317, 997073096, 1281953886, 3579855332, 2724688242, 1006888145, 1258607687, 3524101629, 2768942443, 901097722, 1119000684, 3686517206, 2898065728, 853044451, 1172266101, 3705015759, 2882616665, 651767980, 1373503546, 3369554304, 3218104598, 565507253, 1454621731, 3485111705, 3099436303, 671266974, 1594198024, 3322730930, 2970347812, 795835527, 1483230225, 3244367275, 3060149565, 1994146192, 31158534, 2563907772, 4023717930, 1907459465, 112637215, 2680153253, 3904427059, 2013776290, 251722036, 2517215374, 3775830040, 2137656763, 141376813, 2439277719, 3865271297, 1802195444, 476864866, 2238001368, 4066508878, 1812370925, 453092731, 2181625025, 4111451223, 1706088902, 314042704, 2344532202, 4240017532, 1658658271, 366619977, 2362670323, 4224994405, 1303535960, 984961486, 2747007092, 3569037538, 1256170817, 1037604311, 2765210733, 3554079995, 1131014506, 879679996, 2909243462, 3663771856, 1141124467, 855842277, 2852801631, 3708648649, 1342533948, 654459306, 3188396048, 3373015174, 1466479909, 544179635, 3110523913, 3462522015, 1591671054, 702138776, 2966460450, 3352799412, 1504918807, 783551873, 3082640443, 3233442989, 3988292384, 2596254646, 62317068, 1957810842, 3939845945, 2647816111, 81470997, 1943803523, 3814918930, 2489596804, 225274430, 2053790376, 3826175755, 2466906013, 167816743, 2097651377, 4027552580, 2265490386, 503444072, 1762050814, 4150417245, 2154129355, 426522225, 1852507879, 4275313526, 2312317920, 282753626, 1742555852, 4189708143, 2394877945, 397917763, 1622183637, 3604390888, 2714866558, 953729732, 1340076626, 3518719985, 2797360999, 1068828381, 1219638859, 3624741850, 2936675148, 906185462, 1090812512, 3747672003, 2825379669, 829329135, 1181335161, 3412177804, 3160834842, 628085408, 1382605366, 3423369109, 3138078467, 570562233, 1426400815, 3317316542, 2998733608, 733239954, 1555261956, 3268935591, 3050360625, 752459403, 1541320221, 2607071920, 3965973030, 1969922972, 40735498, 2617837225, 3943577151, 1913087877, 83908371, 2512341634, 3803740692, 2075208622, 213261112, 2463272603, 3855990285, 2094854071, 198958881, 2262029012, 4057260610, 1759359992, 534414190, 2176718541, 4139329115, 1873836001, 414664567, 2282248934, 4279200368, 1711684554, 285281116, 2405801727, 4167216745, 1634467795, 376229701, 2685067896, 3608007406, 1308918612, 956543938, 2808555105, 3495958263, 1231636301, 1047427035, 2932959818, 3654703836, 1088359270, 936918000, 2847714899, 3736837829, 1202900863, 817233897, 3183342108, 3401237130, 1404277552, 615818150, 3134207493, 3453421203, 1423857449, 601450431, 3009837614, 3294710456, 1567103746, 711928724, 3020668471, 3272380065, 1510334235, 755167117]
        var va = [45, -10, 81, 2, 0, 90, -24, 96, 119, -51, -104, 19, 102, 74, -8, 94, -22, -99, -17, -89, -126, -31, -40, 1, -107, -68, -32, 116, 15, -13, -95, 126, -34, 107, -47, 11, 88, -28, -74, -57, -81, 122, 123, 120, 56, 76, -82, -85, -54, -76, -5, 50, -44, -16, 99, 53, 36, -83, 23, -101, -7, 113, 115, -78, -120, 92, -50, 111, -2, 114, -121, 47, -20, 38, -38, -60, -124, -56, -55, 25, 84, 70, -52, -62, 106, -14, 14, -46, 77, 86, 10, 93, 7, -98, 34, -84, -33, -64, 32, 110, -41, -53, -45, 60, -25, -49, -48, -37, 78, -127, -122, -118, 63, 127, -69, 40, -35, -113, 100, 58, -30, 55, -70, -116, -86, 24, 4, 39, 33, 18, 83, -94, 54, -71, 44, -73, -108, 12, 79, -105, 57, 20, 67, 21, -111, -102, 43, 91, 62, -63, 13, 30, -23, -6, -87, -91, 5, 66, -90, -42, -77, 3, -115, -58, 26, 69, -97, -106, 82, -93, -61, -12, 49, -72, -123, 108, -79, -43, 121, 73, -88, -75, 42, 6, -9, -19, -11, -27, -67, 101, 80, -112, 87, 103, -125, -4, -26, 51, 104, 16, 64, 98, 125, -92, -65, 52, -117, 72, -66, 8, -36, -59, 35, -3, 17, 118, -96, 29, 117, 65, 48, 109, -39, 112, -110, 41, -119, 105, 89, -109, 97, 71, 61, -21, -29, -1, 31, -15, 37, -80, 85, -18, 59, -103, -128, 28, 95, -114, 22, 9, -100, 46, 124, 68, 75, 27]
        var La = '14734f60c650b14ccCbB4638bfDC0A43CDd840eFA42Daa'
        var J = 'JSESSIONID-WYTXZDL'
        var M = '_ihtxzdilxldP8_'
        var S = (-1052603347 ^ -819159722) + (-216405093 ^ 42468664)
        var la = 'aZbY0cXdW1eVf2Ug3Th4SiR5jQk6PlO7mNn8MoL9pKqJrIsHtGuFvEwDxCyBzA'
        var Fa = la.length
        var ba = 600000
        var ca = 540000
        var Ka = !(1)
        var Ja = !(0)
        var A = ""
        var Z = J.replace(/[^a-zA-Z0-9$]/g, "").toLowerCase()
        var aa = M.replace(/[^a-zA-Z0-9$]/g, "").toLowerCase()
        var K = window && window['location'] && window['location']['hostname'] || 'not_exist_hostname'
        var F = function(a) {
                var c = [];
                if (!a)
                    return c;
                a = a.split(".");
                for (var d = "", e = 0; e < a.length; e++)
                    e < a.length - (1) && (d = "." + a[a.length - (1) - e] + d,
                    c.push(d));
                return c
            }(K);
        debugger
        // console.log('2')
        F.push(null);
        F.push("." + K);
        1 < function(a) {
            for (var b = 0, h = (w['cookie'] || "").split("; "), l = 0; l < h.length; l++) {
                var k = h[l].indexOf("=");
                0 <= k && h[l].substring(0, k) == a && (b += 1)
            }
            return b
        }(J) && ua();
        // console.log('3');
        (function() {
            var a = N();
            if (null == a || undefined == a || a == "")
                a = !(1);
            else {
                var b;
                if (b = Ga())
                    a = sa(a),
                    b = !(null == a || a - new Date().getTime() <= ba - ca);
                a = b
            }
            // console.log('4');
            return a
        }
        )() ? (na(N()),
        oa(ra()),
        K = Ha(),
        window['setTimeout'] && window['setTimeout'](da, K)) : da();

        return result
    })()
    '''

    r = execjs.eval(s)
    # print(r)

    return r

 

参考:

1,https://github.com/liuzy0404/blog/blob/master/163mail登录流程浅析.md

2,https://www.cnblogs.com/huchong/p/11044238.html

© 著作权归作者所有

四季变幻
粉丝 1
博文 65
码字总数 51609
作品 0
武汉
程序员
私信 提问
加载中

评论(0)

记一次session获取为空的异常处理

原本服务器端是单机tomcat运行,接口端获取请求响应的cookie中的jsessionid值作为以后请求的cookie,这样就可以使用session了 将服务器端升级成分布式的,使用hazelcast做缓存并保存session...

花树堆雪
2019/09/03
47
0
JFinal获取action和参数问题

@JFinal 你好,想跟你请教个问题: 这段代码获取action和参数有问题吧。 如果URI是/admin/login;JSESSIONID=30278de7-dcef-4874-ab78-5554594ceadb 获取到的action是index 参数是login;JSESS...

aduan
2016/03/04
653
2
android中使用HttpURLConnection获取cookie出错

HttpURLConnection connection = (HttpURLConnection) new URL(url).openConnection(); connection.setRequestProperty("Cookie", sessionId); // sessionId是从别的地方获取的,这里不再列出......

yangrfa
2018/03/12
714
1
服务端分配给客户端的JSESSIONID被操作这台电脑之外的人得到吗?

我tomcat架设的http服务器,我用alert(document.cookie);能获取自己在服务端设置的cookie,但JSESSIONID获取不到,但在谷歌浏览器里F12就能看到自己的页面里的cookie,有服务端分配的JSESSIO...

齿轮1
2019/12/16
167
1
Tomcat7验证后jsessionid改变

我在获取j2ee的jsessionid的时候,因为需要保持会话的一致性(需要将信息根据jsessionid存储到分布式缓存),而在tomcat7种,由于其安全措施,会使得会话的jsessionid改变。求教,如何解决...

本人dddd牛仔
2015/06/05
934
2

没有更多内容

加载失败,请刷新页面

加载更多

金三银四——离大厂offer你就只差一张路线图

很多人做Java开发4,5年后,都会感觉自己遇到瓶颈。什么都会又什么都不会,如何改变困境,为什么很多人写了7,8年还是一个码农,工作中太多被动是因为不懂底层原理。公司的工作节奏又比较快,...

Java天天
28分钟前
32
0
用Java递归删除目录

有没有办法用Java递归删除整个目录? 在正常情况下,可以删除一个空目录。 但是,要删除带有目录的整个目录,就不再那么简单了。 如何用Java删除包含目录的整个目录? #1楼 具有堆栈且没有递...

javail
28分钟前
95
0
在hbuilderx中vue-cli脚手架配置router文件夹

配置router文件 新建一个文件夹router,再在新建的router文件夹里新建一个index.js文件 index.js import Vue from 'vue' import Router from 'vue-router' import Home from '../components......

软件开发小白
37分钟前
57
0
高并发软件层面解决思路-从前端到后端

1、页面缓存、前后端分离、CDN、静态页面(减少后台接口请求,需要CMS系统支持)、代码等优化(百度关键词“雅虎前端优化”) 2、nginx或其它配置合理的负载均衡策略,按主机性能设置合理的权...

无名氏的程序员
51分钟前
69
0
Maven项目使用打包时使用本地jar包库

在使用maven管理项目时,有时候我们可能会使用一些第三方的jar包依赖库,但是这些jar包依赖库又没有在共有的maven仓库。 通常只能下来放到本项目的lib目录下。但是我们打包时如果不做处理,那...

上官胡闹
今天
39
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部