Exemple #1
0
        /// <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);
            }
        }
Exemple #2
0
        /// <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());
            }
        }