Ejemplo n.º 1
0
        protected override void CheckDict()
        {
            var listToDelete = new List <WebProxy>();

            foreach (var host in ProxyList)
            {
                CookieDictionary.Add(host, new CachedArray <CookieContainer>(1000 * 60 * 10, () =>
                {
                    try
                    {
                        var cookies = new CookieCollection();

                        var result = new CookieContainer();

                        using (var client = new GetWebClient(host, cookies))
                        {
                            client.Headers["Referer"] = $"{Host.Replace("www", "play")}NewIndex?act=hdpou&webskintype=2";

                            var r = client.DownloadString($"{Host.Replace("www", "play")}onebook?act=hdpou");

                            cookies.Add(client.CookieCollection);

                            var parser = new HtmlParser();

                            var results = parser.Parse(r);

                            var verfCode = results.QuerySelector("input[name=__RequestVerificationToken]").GetAttribute("value");

                            cookies.Add(new Cookie("VerfCode", verfCode, "/", new Uri(Host).Host));
                        }

                        result.Add(cookies);

                        return(result);
                    }
                    catch (Exception)
                    {
                        listToDelete.Add(host);
                        ConsoleExt.ConsoleWriteError($"Dafabet delete address {host.Address} listToDelete {listToDelete.Count}");
                    }

                    return(null);
                }));
            }

            var tasks = ProxyList.AsParallel().Select(host => Task.Factory.StartNew(state => CookieDictionary[host].GetData(), host)).ToArray();

            Task.WaitAll(tasks);

            foreach (var host in listToDelete)
            {
                CookieDictionary.Remove(host);
                ProxyList.Remove(host);
            }
        }
Ejemplo n.º 2
0
        protected override void CheckDict()
        {
            var listToDelete = new List <WebProxy>();

            foreach (var host in ProxyList)
            {
                CookieDictionary.Add(host, new CachedArray <CookieContainer>(1000 * 3600 * 3, () =>
                {
                    try
                    {
                        var cc = new CookieContainer();

                        ConsoleExt.ConsoleWriteError($"Favbet check address {host.Address}");

                        cc.Add(PassCloudFlare(host));

                        using (var wc = new Extensions.WebClientEx(host, cc))
                        {
                            wc.Headers["User-Agent"] = GetWebClient.DefaultUserAgent;

                            wc.DownloadString(Host + "en/live/");

                            //var d = wc.ResponseHeaders["Set-Cookie"];

                            //foreach (var match in d.Split(',').Select(singleCookie => Regex.Match(singleCookie, "(.+?)=(.+?);")).Where(match => match.Captures.Count != 0))
                            //{
                            //    var name = match.Groups[1].ToString();
                            //    var value = match.Groups[2].ToString();
                            //    if (name == "PHPSESSID") cc.Add(new Cookie(name, value) { Domain = ProxyHelper.GetDomain(Host) });
                            //}

                            cc.Add(wc.CookieContainer.GetAllCookies());
                        }

                        return(cc);
                    }
                    catch (Exception e)
                    {
                        listToDelete.Add(host);
                        ConsoleExt.ConsoleWriteError($"Favbet delete address {host.Address} listToDelete {listToDelete.Count}");
                    }

                    return(null);
                }));
            }

            var tasks = ProxyList.AsParallel().Select(host => Task.Factory.StartNew(state => CookieDictionary[host].GetData(), host)).ToArray();

            //foreach (var host in ProxyList)
            //{
            //    CookieDictionary[host].GetData();
            //}

            Task.WaitAll(tasks);

            foreach (var host in listToDelete)
            {
                CookieDictionary.Remove(host);
                ProxyList.Remove(host);
            }
        }