/// <summary> /// 帖子验证码(九宫格) /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void llTieziVcode_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { textBoxVcode2.Text = ""; TieBaReply.m_vcode = string.Empty; if (string.IsNullOrEmpty(TieBaReply.m_vcodeMd5)) { pictureBoxVcode2.ImageLocation = ""; } else { pictureBoxVcode2.ImageLocation = Vcode.GetVcodeUrl(TieBaReply.m_vcodeMd5); } }
/// <summary> /// 回复帖子 /// </summary> public void Reply() { try { this.BeginInvoke(labledelegate, new object[] { labelWarning, "正在回帖..." }); TieBaReply tieBaReply = new TieBaReply(); int replyNo = tieBaReply.Reply(m_replyPostData); //回帖成功 if (replyNo == 0) { //更新回帖状态 //ClientPost.UpdateReply(m_replyId, m_userName); this.BeginInvoke(labledelegate, new object[] { labelWarning, "回帖成功!" }); //检查百度账号是否需要切换 m_replyNum++; m_lableReplyNum++; m_lableTotalNum--; this.BeginInvoke(labledelegate, new object[] { labelReplyNum, m_lableReplyNum.ToString() }); this.BeginInvoke(labledelegate, new object[] { labelTotalNum, m_lableTotalNum.ToString() }); ChangeBaiduLogin(); //继续回帖 ReplyTieZi(); } else if (replyNo == TieBaError.ErrNo40) { this.BeginInvoke(labledelegate, new object[] { labelWarning, "请输入回帖验证码!" }); pictureBoxVcode2.ImageLocation = Vcode.GetVcodeUrl(TieBaReply.m_vcodeMd5); if (thread != null) { thread.Abort(); } } //ip地址被禁 else if (replyNo == TieBaError.ErrNo13) { this.BeginInvoke(labledelegate, new object[] { labelWarning, "IP地址被禁!" }); if (thread != null) { thread.Abort(); } } //回帖太频繁 else if (replyNo == TieBaError.ErrNo34) { this.BeginInvoke(labledelegate, new object[] { labelWarning, "回帖太频繁,请稍等!" }); ReplyTieZi(); } //账号问题 判断是否完全未知 else if (replyNo == TieBaError.ErrNo2 || replyNo == TieBaError.ErrNo8 || replyNo == TieBaError.ErrNo9 || replyNo == TieBaError.ErrNo12 || replyNo == TieBaError.ErrNo19 || replyNo == TieBaError.ErrNo200 || replyNo == TieBaError.ErrNo201 || replyNo == TieBaError.ErrNo202 || replyNo == TieBaError.ErrNo4010 || replyNo == TieBaError.ErrNo7001 || replyNo == TieBaError.ErrNo120016 || replyNo == TieBaError.ErrNo120021 || replyNo == TieBaError.ErrNo260005 || replyNo == TieBaError.ErrNo100023 || replyNo == TieBaError.ErrNo400031 || replyNo == TieBaError.ErrNo400032) { this.BeginInvoke(labledelegate, new object[] { labelWarning, "异常百度账号,正在更换百度账号..." }); //ClientPost.UpdateAccountAbnormal(m_loginName, replyNo); m_replyNum = m_replyMaxNum; ChangeBaiduLogin(); ReplyTieZi(); } //其他错误 else { //写入回帖错误ID和尝试次数 this.BeginInvoke(labledelegate, new object[] { labelWarning, "异常回帖信息,正在更换回帖信息和登陆信息..." }); //ClientPost.UpdateReplyAbnormal(m_replyId, replyNo); //为了误杀回帖的帖子,重新换账号尝试 m_replyNum = m_replyMaxNum; ChangeBaiduLogin(); ReplyTieZi(); } } catch (Exception ex) { LogManager.Instance.WriteLog(LogFileEnum.error, ex.ToString()); } }