http://www.sufeinet.com/plugin.php?id=keke_group

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper爬虫框架(V2.7-含.netcore) HttpHelper官方出品,爬虫框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 开源的爬虫类,支持多种模式和属性 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 3861|回复: 0

[HttpHelper] 多线程带验证码登陆网站

[复制链接]
发表于 2014-6-15 23:21:51 | 显示全部楼层 |阅读模式
40金钱
本帖最后由 fsdsdffdsa 于 2014-6-15 23:28 编辑

各位大大,有相关的例子分享吗。。。。   
我的逻辑是
  1 登陆按钮执行循环操作 ,获取验证码
2   获取一个验证码后,锁死住pictbox,然后再textbox中填写pictbox的验证码数字,然后POST用户名,密码,textbox内容


可是貌似自己在锁死的地方出了问题,求教下如何加锁。。。我是在验证码获取地方加锁 m.WaitOne();  ,textboxenter地方 提交完用户  m.ReleaseMutex(); 这样貌似逻辑不对。。。。
  private void button1_Click(object sender, EventArgs e)
        {
               ThreadPool.UnsafeQueueUserWorkItem(new WaitCallback((object s) =>
                    {
                        for (int i = 0; i < dt.Rows.Count; i++)
                        {
                            iDtIndex = i;

                            InitNewCode(); //获取验证码
                            string userName = Convert.ToString(dt.Rows["userName"]);
                            string passWord = Convert.ToString(dt.Rows["passWord"]);

                            dt.AcceptChanges();
                        }

                  }), null);        //线程池           
        }

private void InitNewCode()
        {

   //获得验证码
             m.WaitOne();
                pictureBox1.Image = NETBase.ByteArrayToImage(resultLogin.ResultByte);

                textBox2.Focus();


}

textbox回车提交用户名,密码
private void textBox2_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {

                      //post用户名,密码,验证码
                 m.ReleaseMutex();
           }

    }




1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备18043678号-2)

GMT+8, 2024-4-30 03:51

© 2014-2021

快速回复 返回顶部 返回列表