示例#1
0
        public List <IJSResult> GetJSResults()
        {
            Jurassic.ScriptEngine engine = Debug();

            object dbJson  = Jurassic.Library.JSONObject.Parse(engine, DatabaseJson);
            object setJson = Jurassic.Library.JSONObject.Parse(engine, SettingJson);

            object result = engine.CallGlobalFunction("main", dbJson, setJson);

            if (result == null || result.GetType() != typeof(Jurassic.Library.ArrayInstance))
            {
                return(null);
            }

            List <IJSResult> jsResults = new List <IJSResult>();

            Jurassic.Library.ArrayInstance array = (Jurassic.Library.ArrayInstance)result;
            foreach (Jurassic.Library.ObjectInstance obj in array.ElementValues)
            {
                IJSResult r = GetJSResult(obj);
                if (r != null)
                {
                    jsResults.Add(r);
                }
            }

            return(jsResults);
        }
示例#2
0
        public PapagoSerializedRequest EncodePapagoTranslationRequest(PapagoTranslationRequest translationRequest)
        {
            PapagoSerializedRequest reqv = null;

            if (_IsAvaliable && PapgoEncoderEngine != null)
            {
                try
                {
                    string pageoReqv = PapgoEncoderEngine.CallGlobalFunction <string>("EncodeTransaltionRequest", JsonConvert.SerializeObject(translationRequest));

                    PapagoEncodedRequest encodedRequestObj = JsonConvert.DeserializeObject <PapagoEncodedRequest>(pageoReqv);

                    string signString = PapagoHmacFin(encodedRequestObj.HmacInput, encodedRequestObj.HmacKey);

                    string authorizationHeader = $"PPG {encodedRequestObj.Guid}:{signString}";

                    return(new PapagoSerializedRequest()
                    {
                        AuthorizationHeader = authorizationHeader,
                        StringRequest = encodedRequestObj.EncodedTranslationRequest,
                        Timestamp = encodedRequestObj.GuidTime
                    });
                }
                catch (Exception e)
                {
                    _Logger?.WriteLog(e.ToString());
                    _IsAvaliable = false;
                }
            }

            return(reqv);
        }
        public string Encode(string sentence, string from, string to, string gtk, string token)
        {
            string reqv = string.Empty;

            if (_IsAvaliable && _BaiduEncoderEngine != null)
            {
                try
                {
                    string sign = _BaiduEncoderEngine.CallGlobalFunction <string>("token", sentence, gtk);

                    BaiduRequest request = new BaiduRequest
                    {
                        from              = from,
                        to                = to,
                        query             = sentence,
                        transtype         = "realtime",
                        simple_means_flag = "3",
                        sign              = sign,
                        token             = token
                    };

                    reqv = WebApi.GetQueryString(request);
                }
                catch (Exception e)
                {
                    _Logger?.WriteLog(e.ToString());
                    _IsAvaliable = false;
                }
            }

            return(reqv);
        }
        protected override object InnerCallFunction(string functionName, params object[] args)
        {
            int argumentCount = args.Length;
            var processedArgs = new object[argumentCount];

            if (argumentCount > 0)
            {
                for (int argumentIndex = 0; argumentIndex < argumentCount; argumentIndex++)
                {
                    processedArgs[argumentIndex] = MapToJurassicType(args[argumentIndex]);
                }
            }

            object result;

            lock (_executionSynchronizer)
            {
                try
                {
                    result = _jsEngine.CallGlobalFunction(functionName, processedArgs);
                }
                catch (OriginalJsException e)
                {
                    throw ConvertJavascriptExceptionToJsRuntimeException(e);
                }
                catch (NotImplementedException e)
                {
                    throw new JsRuntimeException(e.Message, e);
                }
            }

            result = MapToHostType(result);

            return(result);
        }
        protected override object InnerCallFunction(string functionName, params object[] args)
        {
            int argumentCount = args.Length;
            var processedArgs = new object[argumentCount];

            if (argumentCount > 0)
            {
                for (int argumentIndex = 0; argumentIndex < argumentCount; argumentIndex++)
                {
                    processedArgs[argumentIndex] = MapToScriptType(args[argumentIndex]);
                }
            }

            object result;

            lock (_executionSynchronizer)
            {
                try
                {
                    result = _jsEngine.CallGlobalFunction(functionName, processedArgs);
                }
                catch (OriginalJavaScriptException e)
                {
                    throw WrapJavaScriptException(e);
                }
            }

            result = MapToHostType(result);

            return(result);
        }
示例#6
0
        public string Precompile(string template, bool compress)
        {
            var compiled = Engine.CallGlobalFunction <string>("precompile", template, false);

            if (compress)
            {
                compiled = Compressor.Compress(compiled);
            }
            return(compiled);
        }
示例#7
0
        public static string GetHash(string no, string ptwebqq)
        {
            var scriptEngine = new Jurassic.ScriptEngine();

            scriptEngine.EnableDebugging = true;
            scriptEngine.SetGlobalValue("window", new WindowObject(scriptEngine));
            scriptEngine.ExecuteFile(System.AppDomain.CurrentDomain.BaseDirectory + "hash.js");
            var ret = scriptEngine.CallGlobalFunction <string>("friendsHash", no, ptwebqq, 0);

            return(ret);
        }
示例#8
0
        private static string GetTranslate_GoogleTK(string str)
        {
            var scriptEngine = new Jurassic.ScriptEngine();

            scriptEngine.EnableDebugging = true;
            scriptEngine.SetGlobalValue("window", new WindowObject(scriptEngine));
            scriptEngine.ExecuteFile(System.AppDomain.CurrentDomain.BaseDirectory + "GoogleTK.js");
            var TK = scriptEngine.CallGlobalFunction <string>("VL", str);

            return(TK);
        }
示例#9
0
        static void Main(string[] args)
        {
            var eng = new Jurassic.ScriptEngine();

            eng.Evaluate("function text(){return JSON.stringify( {'a':10,'b':20});}");
            var rs = eng.CallGlobalFunction <string>("text");

            //var model = Util.SerializerJsonOrEntity.GetObject<model>(rs);
            //Console.WriteLine(model.a);
            Console.Read();
        }
示例#10
0
        public string EncodePapagoTranslationRequest(string str)
        {
            string reqv = string.Empty;

            if (_IsAvaliable && PapgoEncoderEngine != null)
            {
                try
                {
                    reqv = PapgoEncoderEngine.CallGlobalFunction <string>("EncodeTransaltionRequest", str);

                    reqv = "data=" + System.Net.WebUtility.UrlEncode(reqv);
                }
                catch (Exception e)
                {
                    _Logger?.WriteLog(e.ToString());
                    _IsAvaliable = false;
                }
            }

            return(reqv);
        }
示例#11
0
        public void EngineTest()
        {
            var engine = new Jurassic.ScriptEngine();
            engine.SetGlobalValue("i", 1);
            engine.SetGlobalValue("i", 2);
            Assert.AreEqual(2, engine.GetGlobalValue("i"));

            engine.SetGlobalFunction("test", new Func<object, object, object, object, string>(Test));

            Trace.WriteLine(engine.Evaluate<string>("test(1)"));
            Trace.WriteLine(engine.CallGlobalFunction<string>("test", new object[] { 1 }));

            Trace.WriteLine(engine.Array.Call(1, 2, 3).ElementValues.ToList()[2]);
        }
示例#12
0
        public void EngineTest()
        {
            var engine = new Jurassic.ScriptEngine();

            engine.SetGlobalValue("i", 1);
            engine.SetGlobalValue("i", 2);
            Assert.AreEqual(2, engine.GetGlobalValue("i"));

            engine.SetGlobalFunction("test", new Func <object, object, object, object, string>(Test));

            Trace.WriteLine(engine.Evaluate <string>("test(1)"));
            Trace.WriteLine(engine.CallGlobalFunction <string>("test", new object[] { 1 }));

            Trace.WriteLine(engine.Array.Call(1, 2, 3).ElementValues.ToList()[2]);
        }
示例#13
0
        public string UseJurassic(List <string> Parameters)
        {
            int a;
            int b;

            int.TryParse(Parameters[0], out a);
            int.TryParse(Parameters[1], out b);

            var engine = new Jurassic.ScriptEngine();

            engine.Evaluate("function test(a, b) { return a + b }");
            var ret = engine.CallGlobalFunction <int>("test", a, b);


            return(ret.ToString());
        }
示例#14
0
        private void list()
        {
            try
            {
                txtPageNow.Text = pageNow.ToString();

                string start = pageNow > 1 ? ((pageNow - 1) * interval).ToString() : "0";
                string url   = getUrl(curcol, start);

                string s;
                using (System.Net.WebClient wc = new System.Net.WebClient())
                {
                    Byte[] pageData = wc.DownloadData(url);

                    s = System.Text.Encoding.GetEncoding("GBK").GetString(pageData);
                    //Stream stream = new System.IO.MemoryStream(Encoding.Convert(Encoding.GetEncoding("GBK"), Encoding.UTF8, pageData));
                    //s = System.Text.Encoding.UTF8.GetString(pageData);去除中文乱码

                    s += @"
    function getstring(){
        var s=serv_loadColumnNews();
        return  JSON.stringify(s);
    }
";
                    var eng = new Jurassic.ScriptEngine();
                    eng.Evaluate(s);
                    var b = eng.CallGlobalFunction <string>(@"getstring");

                    m = JsonConvert.DeserializeObject <oainfo>(b);
                }
                pagesAll        = m.total / interval + (m.total % interval == 0 ? 0 : 1);
                labPageAll.Text = pagesAll.ToString();

                listDoc.Items.Clear();
                foreach (var v in m.informations)
                {
                    ListViewItem lvi = new ListViewItem();
                    lvi = listDoc.Items.Add(v.id);
                    lvi.SubItems.Add(v.bt);
                    lvi.SubItems.Add(v.time);
                    lvi.SubItems.Add(v.mc);
                }
            }
            catch (Exception ex) { MessageBox.Show(ex.Message); }
        }
示例#15
0
        public string encoding(string sentence, string from, string to, string gtk, string token)
        {
            var engine = new Jurassic.ScriptEngine();

            engine.ExecuteFile(GlobalSettings.BaiduEncoder);
            string sign = engine.CallGlobalFunction <string>("token", sentence, gtk);

            BaiduRequest request = new BaiduRequest
            {
                from              = from,
                to                = to,
                query             = sentence,
                transtype         = "realtime",
                simple_means_flag = "3",
                sign              = sign,
                token             = token
            };

            return(URLEncoding.GetQueryString(request));
        }
        private string Decipher(string id, Dictionary <string, string> CipherDetails)
        {
            try
            {
                using (WebClient wc = new WebClient())
                {
                    wc.Proxy = null;
                    //downloads the whole page
                    string dpage = wc.DownloadString(string.Concat("https://www.youtube.com/watch?v=", id));
                    //match the player .js file
                    Regex  dreg       = new Regex(Patterns.JsURL);
                    Match  dm         = dreg.Match(dpage);
                    string BasePlayer = Regex.Unescape(dm.Groups[1].Value);
                    string djloc      = string.Concat("https://youtube.com", BasePlayer);
                    string djs        = wc.DownloadString(djloc);

                    //match the descrambling function in the downloaded javascript
                    dreg = new Regex(Patterns.JsFunctionPattern1);
                    //(?:\b|[^a-zA-Z0-9$])(?P<sig>[a-zA-Z0-9$]{2})\s*=\s*function\(\s*a\s*\)\s*{\s*a\s*=\s*a\.split\(\s*\"\"\s*\).*};
                    dm = dreg.Match(djs);
                    string dfunc = dm.Groups[1].Value;
                    dreg = new Regex(string.Concat(Regex.Escape(dfunc), Patterns.JsFunctionPattern2));
                    dm   = dreg.Match(djs);

                    string dargn = dm.Groups[1].Value;
                    string dalg  = dm.Groups[2].Value;

                    //pretty prints it for later usage
                    string           djsfunc = string.Concat("var unscramble = function(", dargn, ") { ", dalg, " };");
                    string[]         dalgps  = dalg.Split(';');
                    HashSet <string> dalgrs  = new HashSet <string>();
                    foreach (string dalgp in dalgps)
                    {
                        if (!dalgp.StartsWith(string.Concat(dargn, "=")) && !dalgp.StartsWith("return "))
                        {
                            dalgrs.Add(dalgp.Split('.')[0]);
                        }
                    }

                    dreg = new Regex(string.Concat("var ", dalgrs.First(), Patterns.JsFunctionPattern3), RegexOptions.Singleline);
                    dm   = dreg.Match(djs);

                    dalg    = dm.Groups[0].Value;
                    djsfunc = string.Concat(dalg, "\n", djsfunc, "");

                    //instantiates the JS engine,calls the js function and returns the deciphered URL
                    Jurassic.ScriptEngine engine = new Jurassic.ScriptEngine();
                    engine.Evaluate(djsfunc);
                    string UnscambledCipher = (engine.CallGlobalFunction <string>("unscramble", CipherDetails["s"]));

                    if (!string.IsNullOrEmpty(UnscambledCipher))
                    {
                        return(Uri.UnescapeDataString($"{CipherDetails["url"]}&{CipherDetails["sp"]}={UnscambledCipher}"));
                    }
                    else
                    {
                        return(string.Empty);
                    }
                }
            }
            catch (Exception ex)
            {
                string a = ex.Message;
                return("");
            }
        }
示例#17
0
 void GATOIACORE()
 {
     motorJS.CallGlobalFunction("IAGatoMovs");
 }
示例#18
0
        public static string analysis(string s)
        {
            var engine = new Jurassic.ScriptEngine();

            engine.Evaluate(@"var _0x37e6 = ['\x41\x42\x43\x44\x45\x46\x47\x48\x49\x4A\x4B\x4C\x4D\x4E\x4F\x50\x51\x52\x53\x54\x55\x56\x57\x58\x59\x5A\x61\x62\x63\x64\x65\x66\x67\x68\x69\x6A\x6B\x6C\x6D\x6E\x6F\x70\x71\x72\x73\x74\x75\x76\x77\x78\x79\x7A\x30\x31\x32\x33\x34\x35\x36\x37\x38\x39\x2B\x2F\x3D', '', '\x73\x75\x62\x73\x74\x72', '\x63\x68\x61\x72\x41\x74', '\x69\x6E\x64\x65\x78\x4F\x66', '\x66\x72\x6F\x6D\x43\x68\x61\x72\x43\x6F\x64\x65', '\x6C\x65\x6E\x67\x74\x68', '\x6A\x6F\x69\x6E', '\x63\x68\x61\x72\x43\x6F\x64\x65\x41\x74'];
function jj(_0x79b1x2) {
    var _0x79b1x3 = _0x37e6[0];
    var _0x79b1x4, _0x79b1x5, _0x79b1x6, _0x79b1x7, _0x79b1x8, _0x79b1x9, _0x79b1xa, _0x79b1xb, _0x79b1xc = 0,
    _0x79b1xd = 0,
    _0x79b1xe = _0x37e6[1],
    _0x79b1xf = [];
    if (!_0x79b1x2) {
        return _0x79b1x2;
    };
    _0x79b1x2 = _0x79b1x2[_0x37e6[2]](2);
    _0x79b1x2 += _0x37e6[1];
    do {
        _0x79b1x7 = _0x79b1x3[_0x37e6[4]](_0x79b1x2[_0x37e6[3]](_0x79b1xc++));
        _0x79b1x8 = _0x79b1x3[_0x37e6[4]](_0x79b1x2[_0x37e6[3]](_0x79b1xc++));
        _0x79b1x9 = _0x79b1x3[_0x37e6[4]](_0x79b1x2[_0x37e6[3]](_0x79b1xc++));
        _0x79b1xa = _0x79b1x3[_0x37e6[4]](_0x79b1x2[_0x37e6[3]](_0x79b1xc++));
        _0x79b1xb = _0x79b1x7 << 18 | _0x79b1x8 << 12 | _0x79b1x9 << 6 | _0x79b1xa;
        _0x79b1x4 = _0x79b1xb >> 16 & 0xff;
        _0x79b1x5 = _0x79b1xb >> 8 & 0xff;
        _0x79b1x6 = _0x79b1xb & 0xff;
        if (_0x79b1x9 == 64) {
            _0x79b1xf[_0x79b1xd++] = String[_0x37e6[5]](_0x79b1x4);
        } else {
            if (_0x79b1xa == 64) {
                _0x79b1xf[_0x79b1xd++] = String[_0x37e6[5]](_0x79b1x4, _0x79b1x5);
            } else {
                _0x79b1xf[_0x79b1xd++] = String[_0x37e6[5]](_0x79b1x4, _0x79b1x5, _0x79b1x6);
            };
        };
    } while ( _0x79b1xc < _0x79b1x2 [ _0x37e6 [ 6 ]]);;
    _0x79b1xe = _0x79b1xf[_0x37e6[7]](_0x37e6[1]);
    return utf8d(_0x79b1xe);
};
function utf8d(_0x79b1x11) {
    var _0x79b1x12 = _0x37e6[1],
    _0x79b1xc = 0,
    _0x79b1x13 = c1 = c2 = 0;
    while (_0x79b1xc < _0x79b1x11[_0x37e6[6]]) {
        _0x79b1x13 = _0x79b1x11[_0x37e6[8]](_0x79b1xc);
        if (_0x79b1x13 < 128) {
            _0x79b1x12 += String[_0x37e6[5]](_0x79b1x13);
            _0x79b1xc++;
        } else {
            if ((_0x79b1x13 > 191) && (_0x79b1x13 < 224)) {
                c2 = _0x79b1x11[_0x37e6[8]](_0x79b1xc + 1);
                _0x79b1x12 += String[_0x37e6[5]](((_0x79b1x13 & 31) << 6) | (c2 & 63));
                _0x79b1xc += 2;
            } else {
                c2 = _0x79b1x11[_0x37e6[8]](_0x79b1xc + 1);
                c3 = _0x79b1x11[_0x37e6[8]](_0x79b1xc + 2);
                _0x79b1x12 += String[_0x37e6[5]](((_0x79b1x13 & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
                _0x79b1xc += 3;
            };
        };
    };
    return _0x79b1x12;
};");
            string res = engine.CallGlobalFunction <string>("jj", s);

            //Regex r2 = new Regex(@"Vídeo Id: .*<br>Sìze:");
            //Item.id = r2.Matches(res)[0].Value.Split(new string[] { "Vídeo Id: ", "<br>Sìze:" }, StringSplitOptions.RemoveEmptyEntries)[0];
            //Item.id = "<a>" + Item.torrent.Replace(">", "/>")+"</a>";
            //XmlDocument xmlDoc = new XmlDocument();
            //xmlDoc.LoadXml(Item.id);
            //string id="";
            //foreach (XmlNode x in xmlDoc.GetElementsByTagName("a")[0].ChildNodes)
            //{
            //    string key = x.Attributes["style"].Value;
            //    key = key.Substring(0, key.IndexOf(";") + 1);
            //    key = dictionary[key];
            //    id += key;
            //}
            res = res.Replace(">", "/>");
            Regex r1 = new Regex("<img src=\".*?px;\"/>");

            MatchCollection mc = r1.Matches(res);

            foreach (Match m in mc)
            {
                XmlDocument xmlDoc = new XmlDocument();
                xmlDoc.LoadXml(m.ToString());
                string key = xmlDoc.GetElementsByTagName("img")[0].Attributes["style"].Value;
                key = key.Substring(0, key.IndexOf(";"));
                string cha = dictionary[key];
                res = res.Replace(m.ToString(), cha);
            }
            Item.info = res;
            Regex r2 = new Regex("Vídeo Id: .*?<br/>");

            Item.id = r2.Matches(res)[0].ToString().Split(new string[] { "Vídeo Id: ", "<br/>" }, StringSplitOptions.RemoveEmptyEntries)[0];
            return(Item.id);
        }
示例#19
0
 public static string GetHash(string no, string ptwebqq)
 {
     var scriptEngine = new Jurassic.ScriptEngine();
     scriptEngine.EnableDebugging = true;
     scriptEngine.SetGlobalValue("window", new WindowObject(scriptEngine));
     scriptEngine.ExecuteFile(System.AppDomain.CurrentDomain.BaseDirectory + "hash.js");
     var ret = scriptEngine.CallGlobalFunction<string>("friendsHash", no, ptwebqq, 0);
     return ret;
 }
示例#20
0
        public string Decipher(string id)
        {
            try
            {
                using (WebClient wc = new WebClient())
                {
                    wc.Proxy = null;
                    //downloads the whole page
                    string dpage = wc.DownloadString(string.Concat("https://www.youtube.com/watch?v=", id));

                    Regex dreg = new Regex(Patterns.YoutubeInitialResponse);
                    Match dm;

                    string _playerResponse = (dreg.Match(dpage).Value);
                    dreg = new Regex(Patterns.AdaptiveFormats1);

                    string AdaptiveFormats = dreg.Match((_playerResponse)).Value;
                    dreg = new Regex(Patterns.AdaptiveFormats2);
                    string[] mc = dreg.Matches(AdaptiveFormats).Cast <Match>().Select(m => m.Value).ToArray();
                    int      AudioMaisProximo = Metodos.Utils.PartialIndexOf(mc, "audio/");
                    if (AudioMaisProximo > -1)
                    {
                        dreg = new Regex(Patterns.SignatureCipher);
                        MatchCollection SignatureCipher = dreg.Matches(mc[AudioMaisProximo]);
                        if (SignatureCipher.Count > 0)
                        {
                            string r_cifra = Regex.Unescape(SignatureCipher[0].Value);
                            Dictionary <string, string> CipherDetails = Metodos.Utils.cifraToDict(r_cifra);


                            //match the player .js file
                            dreg = new Regex(Patterns.JsURL);
                            dm   = dreg.Match(dpage);
                            string BasePlayer = Regex.Unescape(dm.Groups[1].Value);
                            string djloc      = string.Concat("https://youtube.com", BasePlayer);
                            string djs        = wc.DownloadString(djloc);

                            //match the descrambling function in the downloaded javascript
                            dreg = new Regex(Patterns.JsFunctionPattern1);
                            //(?:\b|[^a-zA-Z0-9$])(?P<sig>[a-zA-Z0-9$]{2})\s*=\s*function\(\s*a\s*\)\s*{\s*a\s*=\s*a\.split\(\s*\"\"\s*\).*};
                            dm = dreg.Match(djs);
                            string dfunc = dm.Groups[1].Value;
                            dreg = new Regex(string.Concat(Regex.Escape(dfunc), Patterns.JsFunctionPattern2));
                            dm   = dreg.Match(djs);

                            string dargn = dm.Groups[1].Value;
                            string dalg  = dm.Groups[2].Value;

                            //pretty prints it for later usage
                            string           djsfunc = string.Concat("var unscramble = function(", dargn, ") { ", dalg, " };");
                            string[]         dalgps  = dalg.Split(';');
                            HashSet <string> dalgrs  = new HashSet <string>();
                            foreach (string dalgp in dalgps)
                            {
                                if (!dalgp.StartsWith(string.Concat(dargn, "=")) && !dalgp.StartsWith("return "))
                                {
                                    dalgrs.Add(dalgp.Split('.')[0]);
                                }
                            }

                            dreg = new Regex(string.Concat("var ", dalgrs.Where(c => !c.Contains(")")).FirstOrDefault(), Patterns.JsFunctionPattern3), RegexOptions.Singleline);
                            dm   = dreg.Match(djs);

                            dalg    = dm.Groups[0].Value;
                            djsfunc = string.Concat(dalg, "\n", djsfunc, "");

                            //instantiates the JS engine,calls the js function and returns the deciphered URL
                            Jurassic.ScriptEngine engine = new Jurassic.ScriptEngine();
                            engine.Evaluate(djsfunc);
                            string UnscambledCipher = (engine.CallGlobalFunction <string>("unscramble", CipherDetails["s"]));

                            if (!string.IsNullOrEmpty(UnscambledCipher))
                            {
                                return(Uri.UnescapeDataString($"{CipherDetails["url"]}&{CipherDetails["sp"]}={UnscambledCipher}"));
                            }
                            else
                            {
                                return(string.Empty);
                            }
                        }
                        else
                        {
                            dreg = new Regex(Patterns.FileURL);
                            MatchCollection URL = dreg.Matches(mc[AudioMaisProximo]);
                            if (URL.Count > 0)
                            {
                                return(Uri.UnescapeDataString(Regex.Unescape(URL[0].Value)));
                            }
                            else
                            {
                                return("");
                            }
                        }
                    }
                    else
                    {
                        return("");
                    }
                }
                return("");
            }
            catch (Exception ex)
            {
                string a = ex.Message;
                return("");
            }
        }
示例#21
0
 internal static string EncodePassword(string password, string token, string bits)
 {
     var scriptEngine = new Jurassic.ScriptEngine();
     scriptEngine.EnableDebugging = true;
     scriptEngine.SetGlobalValue("window", new WindowObject(scriptEngine));
     scriptEngine.ExecuteFile(System.AppDomain.CurrentDomain.BaseDirectory + "encode.js");
     var ret = scriptEngine.CallGlobalFunction<string>("getEncryption", password, token, bits, 0);
     return ret;
 }
示例#22
0
        private void list()
        {
            try
            {
                txtPageNow.Text = pageNow.ToString();

                string start = pageNow > 1 ? ((pageNow - 1) * interval).ToString() : "0";
                string url = getUrl(curcol, start);

                string s;
                using (System.Net.WebClient wc = new System.Net.WebClient())
                {
                    Byte[] pageData = wc.DownloadData(url);

                    s = System.Text.Encoding.GetEncoding("GBK").GetString(pageData);
                    //Stream stream = new System.IO.MemoryStream(Encoding.Convert(Encoding.GetEncoding("GBK"), Encoding.UTF8, pageData));
                    //s = System.Text.Encoding.UTF8.GetString(pageData);去除中文乱码

                    s += @"
            function getstring(){
            var s=serv_loadColumnNews();
            return  JSON.stringify(s);
            }
            ";
                    var eng = new Jurassic.ScriptEngine();
                    eng.Evaluate(s);
                    var b = eng.CallGlobalFunction<string>(@"getstring");

                    m = JsonConvert.DeserializeObject<oainfo>(b);
                }
                pagesAll = m.total / interval + (m.total % interval == 0 ? 0 : 1);
                labPageAll.Text = pagesAll.ToString();

                listDoc.Items.Clear();
                foreach (var v in m.informations)
                {
                    ListViewItem lvi = new ListViewItem();
                    lvi = listDoc.Items.Add(v.id);
                    lvi.SubItems.Add(v.bt);
                    lvi.SubItems.Add(v.time);
                    lvi.SubItems.Add(v.mc);
                }

            }
            catch (Exception ex) { MessageBox.Show(ex.Message); }
        }