Ejemplo n.º 1
0
        static void CheckAllProxy()
        {
            var proxyList = App
                            .settings
                            .proxy
                            .items;

            List <ProxySettingsItem> bannedList = new List <ProxySettingsItem>();

            foreach (var proxyItem in proxyList)
            {
                bool isBan = new Cash365()
                             .CheckIsBanForever(proxyItem);

                if (isBan)
                {
                    Console.WriteLine("Ban forever: " + proxyItem.ip);
                    bannedList.Add(proxyItem);
                }
                else
                {
                    Console.WriteLine("Success access: " + proxyItem.ip);
                }
            }

            Console.WriteLine("-----------------------------------------------");
            Console.WriteLine("Banned cnt: " + bannedList.Count());
        }
Ejemplo n.º 2
0
        static Cache365RequestPaymentResponseType Create(double amount, string phone, string btcAddr, ProxySettingsItem proxy)
        {
            Random  r     = new Random();
            Cash365 model = new Cash365();

            if (proxy != null)
            {
                model.httpRequest.Proxy = proxy.CreateProxyClient();
            }

            if (App.settings.cache365.accounts.Count() > 0)
            {
                var free = App.accountsStack.GetFree();
                App.accountsStack.MarkBusy(free);

                bool isLogin = model.Login(free.login, free.passwrd);
                if (!isLogin)
                {
                    throw new Exception("can`t login " + free.login);
                }

                Thread.Sleep(
                    r.Next(
                        App.settings.cache365.delay_after_login_from,
                        App.settings.cache365.delay_after_login_to
                        )
                    );
            }

            string email = GenerateEmail(phone);

            App.actionsLog.Append(new ActionDataItem(phone, "GenerateEmail: " + email));

            CreateTicketStruct created = model.CreateTicket(phone, amount, btcAddr, email);

            App.actionsLog.Append(new ActionDataItem(phone, "completed create ticket, try parse final page"));

            ParseFinalPage parser = new ParseFinalPage(created.content);

            var finalPage = new Cache365RequestPaymentResponseType()
            {
                account    = created.qiwiNumber,
                btc_amount = parser.GetBtcAmount(),
                comment    = parser.GetNumberTicket(),
                ip         = proxy == null ? "" : proxy.ip,
                email      = email
            };

            App.actionsLog.Append(new ActionDataItem(phone, "Final page: " + finalPage.toJson()));

            return(finalPage);
        }
Ejemplo n.º 3
0
        static double GetBtcRateByTicketForm(IElement form)
        {
            var    p   = Cash365.GetById(form, "p", "pre-order-form-course");
            string val = p.GetElementsByTagName("span")[0].InnerHtml;

            try
            {
                return(double.Parse(val));
            }
            catch (Exception) { }

            return(double.Parse(val.Replace('.', ',')));
        }
Ejemplo n.º 4
0
        static string Rate()
        {
            var model = new Cash365();
            var rate  = model.GetRateBalance();

            RateCache365Response rateResponse = new RateCache365Response()
            {
                rate    = double.Parse(rate.Item1.ToString()),
                balance = double.Parse(rate.Item2.ToString()),
            };

            return(rateResponse.toJson());
        }
Ejemplo n.º 5
0
        public void ChangeProxyTest()
        {
            Cash365 model = new Cash365();

            Assert.IsTrue(model.DoStepsForBan(), "Не работает нарываение на бан");

            ProxySettingsItem usedProxyInCreate = null;

            //model.ChangeProxyOnNoBan(
            //    new ProxyLog()
            //            .Load()
            //            .GetBlacklistHosts(),
            //    ref usedProxyInCreate
            //);
            //Assert.IsFalse(model.IsBan(), "Не работает применение прокси");
        }
Ejemplo n.º 6
0
        public void CreateTicketTest()
        {
            Random  r     = new Random();
            Cash365 model = new Cash365();

            ProxySettingsItem usedProxyInCreate = null;

            //model.ChangeProxyOnNoBan(
            //    new ProxyLog()
            //            .Load()
            //            .GetBlacklistHosts(),
            //    ref usedProxyInCreate
            //);
            //Thread.Sleep(r.Next(App.settings.cache365.delay_before_each_step_from, App.settings.cache365.delay_before_each_step_to));

            var free = App.accountsStack.GetFree();

            App.accountsStack.MarkBusy(free);

            Assert.IsTrue(
                model.Login(
                    free.login,
                    free.passwrd
                    ), "Не получается залогиниться " + free.login
                );

            Thread.Sleep(
                r.Next(
                    App.settings.cache365.delay_after_login_from,
                    App.settings.cache365.delay_after_login_to
                    )
                );

            CreateTicketStruct created = model.CreateTicket("+7912345678", 5000, "bc1q3zm4x7d4032gp8ghqsmf79dzmnrmtggp2e7mae");

            Assert.IsNotEmpty(created.content, "Заявка не создается");
            Assert.IsNotEmpty(created.qiwiNumber, "QIWI кошелек не возвращается");

            ParseFinalPage parser = new ParseFinalPage(created.content);

            Assert.IsNotEmpty(parser.GetStatus(), "Не работает парсинг статуса по только что созданной заявке, " + created.content);
            Assert.IsNotEmpty(parser.GetNumberTicket(), "Не работает парсинг номера заявки по только что созданной заявке, " + created.content);
            Assert.IsNotEmpty(parser.GetRubAmount(), "Не работает парсинг суммы руб по только что созданной заявке, " + created.content);
            Assert.IsNotEmpty(parser.GetBtcAmount(), "Не работает парсинг суммы btc по только что созданной заявке, " + created.content);
            Assert.IsNotEmpty(parser.GetBtcAddr(), "Не работает парсинг адреса btc по только что созданной заявке, " + created.content);
            Assert.IsNotEmpty(parser.GetCardId(), "Не работает парсинг id кошелька по только что созданной заявке, " + created.content);
        }