示例#1
0
        //过登录验证
        private void toolStripMenuItem20_Click(object sender, EventArgs e)
        {
            this.Activate();

            //发送密码
            MouseKeyBordHelper.MoveAndLeftClick(this.Left, this.Top,
                                                ConfigHelper.GetIntValue("登录验证页面发送按钮左边距"), ConfigHelper.GetIntValue("登录验证页面发送按钮上边距"));
            LogManager.WriteLog("发送按钮");
            Thread.Sleep(1000);


            string vcodeNum  = "";
            bool   isVcodeOk = false;

            LogManager.WriteLog(GlobalVar.phoneNum);

            new Thread(() => {
                try {
                    Thread.Sleep(2000);

                    string phone = GlobalVar.phoneNum;
                    SmsConfigHelper.GetPhone(ref phone, SmsServer.tb_reg_login_vcode);
                    isVcodeOk =
                        SmsConfigHelper.GetSmsOfPhone(GlobalVar.phoneNum, ref vcodeNum, SmsServer.tb_reg_login_vcode);

                    if (!isVcodeOk)
                    {
                        LogManager.WriteLog("没有收到验证码 ");
                    }
                    LogManager.WriteLogIfDebug("释放");
                    GlobalVar.IsloadOkAutoResetEvent.Set();
                } catch (Exception e1) {
                    LogManager.WriteLog(e1.ToString());
                }
            })
            {
                IsBackground = true
            }.Start();


            LogManager.WriteLogIfDebug("阻塞");
            GlobalVar.IsloadOkAutoResetEvent.Reset();
            LogManager.WriteLogIfDebug("等待2分钟");
            GlobalVar.IsloadOkAutoResetEvent.WaitOne(TimeSpan.FromMinutes(2));

            try {
                if (!isVcodeOk)
                {
                    taskRunner.ReportAccountStatus("reg", "failed", GlobalVar.phoneNum + "|" + GlobalVar.CurrentIp);
                    return;
                }

                //输入验证码
                MouseKeyBordHelper.MoveAndLeftClick(this.Left, this.Top,
                                                    ConfigHelper.GetIntValue("登录验证页面输入框左边距"), ConfigHelper.GetIntValue("登录验证页面输入框上边距"));
                LogManager.WriteLog("输入框");
                //Thread.Sleep(3000);
                LogManager.WriteLog("输入");
                MouseKeyBordHelper.KeyBoardDo(vcodeNum.ToCharArray());
                Thread.Sleep(1000);
                //提交
                LogManager.WriteLog("提交");
                MouseKeyBordHelper.MoveAndLeftClick(this.Left, this.Top,
                                                    ConfigHelper.GetIntValue("登录验证页面确定按钮左边距"), ConfigHelper.GetIntValue("登录验证页面确定按钮上边距"));
            } catch (Exception e1) {
                LogManager.WriteLog(e1.ToString());
            }
        }
示例#2
0
        //手机验证
        private void phoneVailed(BusinessStatus nowStatus)
        {
            //}

            //public void GetPhone2(object sender, EventArgs e) {
            //1.login


            string phoneNum = "";

            Application.DoEvents();
            //  lock (changeTel1) {
            bool getPhoneOK = false;
            bool isVcodeOk  = false;



            int TryPhoneNumTB = int.Parse(ConfigHelper.GetValue("TryPhoneNumTB"));

            if (ConfigHelper.GetValue("smsConfigtb") == "aima" || ConfigHelper.GetValue("smsConfigtb") == "jike")
            {
                GlobalVar.sms = IMySmsFactory.Build(ConfigHelper.GetValue("smsConfigtb"));
                GlobalVar.sms.GetConfigOfSms();//SmsConfigHelper.GetConfigOfSms();
            }

            for (int i = 0; i < TryPhoneNumTB; i++)
            {
                if (ConfigHelper.GetValue("smsConfigtb") == "both")
                {
                    GlobalVar.sms = IMySmsFactory.Build(i % 2 == 1 ? "jike" : "aima");
                    GlobalVar.sms.GetConfigOfSms();//SmsConfigHelper.GetConfigOfSms();
                }

                Thread.Sleep(1000);
                //2.1 检测是否当前已经通过手机验证

                if (MainForm.state != nowStatus)
                {
                    LogManager.WriteLog("当前不是获取手机号码 的页面了.");
                    break;
                }
                //2.2 获取手机
                getPhoneOK = SmsConfigHelper.GetPhone(ref phoneNum);
                if (!getPhoneOK)
                {
                    continue;
                }
                //getPhoneOK = true;
                //phoneNum = GlobalVar.phoneNum;
                //2.3 填充手机
                string js2run =
                    "document.getElementById('J_Mobile').value = '{0}';".With(phoneNum) +
                    "document.getElementById('J_BtnMobileCode').click();";

                LogManager.WriteLog(js2run);

                CefFrameHelper.ExcuteJs(MainCefFrame, js2run);
                LogManager.WriteLog("{0} is fill 填充手机 ".With(phoneNum));

                Application.DoEvents();

                //2.4 检测手机是否可用
                LogManager.WriteLog("检测手机是否可用");
                string valueOfStyle       = "";
                bool   is_valueOfStyle_ok = false;
                for (int j = 0; j < 2; j++)
                {
                    Thread.Sleep(3000);
                    valueOfStyle = CefFrameHelper.GetMsgByJs3(MainCefFrame, "document.getElementById('J_MsgMobileCode').getAttribute('class')");

                    LogManager.WriteLog("valueOfStyle:" + valueOfStyle);
                    is_valueOfStyle_ok = (valueOfStyle != null && valueOfStyle.Contains("ok"));
                    if (is_valueOfStyle_ok)
                    {
                        break;
                    }
                    Application.DoEvents();
                }
                if (!is_valueOfStyle_ok)
                {
                    LogManager.WriteLog("手机号码 {1} 不可用 释放并拉黑.重新获取,{0}".With(TryPhoneNumTB - i, phoneNum));
                    //释放单个手机
                    GlobalVar.sms.ReleasePhone(phoneNum, SmsServer.tb_reg_vode); // SmsApi.ReleasePhone(phoneNum, "2");
                    continue;
                }


                //2.5 手机可用则接收短信
                LogManager.WriteLog("手机号码 {0} 可用.".With(phoneNum));

                string vcodeNum = "";
                isVcodeOk = SmsConfigHelper.GetSmsOfPhoneTBREGV3_1(phoneNum, ref vcodeNum, SmsServer.tb_reg_vode);

                if (!isVcodeOk)
                {
                    LogManager.WriteLog("没有收到验证码,返回重新接收");
                    continue;
                }

                if (ConfigHelper.GetBoolValue("tbModelTest"))  //开启测试模式,记录手机号码并释放手机号码,跳转到支付宝注册
                {
                    GlobalVar.availabePhone = phoneNum;
                    GlobalVar.sms.ReleasePhone(phoneNum, SmsServer.tb_reg_login_vcode);
                    BT_Reg_zfb_Click(this, new EventArgs());
                }


                //2.6 接收到短信则提交
                //                document.getElementById('J_PhoneCheckCode').value='295768';
                //document.getElementsByClassName('btn-s')[0].click();

                string jsOfSubmitVcode =
                    "document.getElementById('J_MobileCode').value='{0}';".With(vcodeNum) +
                    "document.getElementById('J_BtnMobileCodeForm').click();" +
                    "document.getElementById('J_BtnMobileCodeForm').click();";
                //J_BtnMobileCodeForm
                //J_BtnMobileForm
                CefFrameHelper.ExcuteJs(MainCefFrame, jsOfSubmitVcode);//提交验证码
                if (GlobalVar.debug)
                {
                    LogManager.WriteLog(vcodeNum);
                    LogManager.WriteLog(jsOfSubmitVcode);
                }
                GlobalVar.phoneNum = phoneNum;
                break;
            }
            //     }).Start();
            //   };
        }