//过登录验证 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()); } }
//手机验证 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(); // }; }