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

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

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

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

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

查看: 18796|回复: 5

[其他] 同一验证码链接每次访问返回验证码图片都不一样该如何获取

[复制链接]
发表于 2014-3-25 22:00:46 | 显示全部楼层 |阅读模式
    今天在做乐讯网(手机网页)注册功能时,使用HttpHelper进入短信注册页面并获取到
验证码链接,然后单独访问获取验证码图片,正确输入验证码提交的时候一直提示验证码
错误,我接入打码平台后发现平台里边的打码记录跟我访问到的不是一个,后来发现这个
验证码链接每次访问都生成的验证码图片都会发生变化。我在VS中进入注册页面返回获取
HttpResult的加入断点发现使用html视图查看result.html每次的验证码都一样。
   请问我该怎么才能获取到像上述html视图中的验证码图片啊!
   附1:注册地址http://login.lexun.com/login/reg.aspx
   附2:代码端
   
[C#] 纯文本查看 复制代码
/// <summary>
        /// 进入注册页面
        /// </summary>
        /// <returns></returns>
        public bool inToRegPage(ref string msg)
        {
            string html = "";
            string url = @"http://login.lexun.com/login/reg.aspx";
            string referer = @"http://login.lexun.com/login/reg.aspx";
            //
            html = getMethod_HttpRquest(url, referer);

            if (html.Contains("免费注册"))
            {

                //获取手机注册地址            
                int index = html.IndexOf(@"<a href=""reg.aspx");
                html = html.Substring(index + (@"<a href=""reg.aspx").Length);
                index = html.IndexOf(@"""");
                this.gb_Url = "http://login.lexun.com/login/reg.aspx" + html.Substring(0, index).Replace("&", "&");
                //
                html = getMethod_HttpRquest(this.gb_Url, referer);
                if (html.Contains("免费注册"))
                {
                    //获取postUrl                
                    index = html.IndexOf(@"method=""post"" action=""");
                    html = html.Substring(index + (@"method=""post"" action=""").Length);
                    index = html.IndexOf(@"""");
                    this.postUrl = "http://login.lexun.com/login/" + html.Substring(0, index).Replace("&", "&");

                    //获取authCodeName                
                    index = html.IndexOf(@"http://clube.lexun.com/ImageCode/");
                    html = html.Substring(index + (@"http://clube.lexun.com/ImageCode/").Length);
                    index = html.IndexOf(".");
                    this.authCodeName = html.Substring(0, index);

                    //获取authCodeUrl
                    index = html.IndexOf(@"""");
                    this.authCodeUrl = @"http://clube.lexun.com/ImageCode/" + html.Substring(0, index).Replace("&", "&");
                    msg = "进入注册页面成功!\n获取提交链接成!\n获取验证码图片成功!\n获取验证码链接成功!";
                    return true;
                }
            }
            return false;
        }

/// <summary>
        /// 获取验证码
        /// </summary>
        public bool getAuthcode(ref int codeID, ref string result)
        {
            try
            {
                StringBuilder sb = new StringBuilder();
                System.IO.MemoryStream Ms = new MemoryStream();
                HttpResult resultHTTP = verify(this.authCodeUrl, "");
                this.gb_codeID = codeID = Wrapper.uu_recognizeByCodeTypeAndBytes(resultHTTP.ResultByte, resultHTTP.ResultByte.Length, 9010, sb);
                result = sb.ToString();
                return (codeID > 0);
            }
            catch (Exception ex)
            {
                return false;
            }
        }


1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
发表于 2014-3-25 23:07:38 | 显示全部楼层
应该不复杂,可是我不想用自己的手机测试,所以无能为力了。
发表于 2014-3-25 23:40:53 | 显示全部楼层
手机号居然可以瞎写,
帮LZ写了一个。话说怎么才能设置"回复可见"啊?

RegisterLexun.rar

75.37 KB, 下载次数: 99, 下载积分: 金钱 -1

发表于 2014-3-26 08:07:20 | 显示全部楼层
cload 发表于 2014-3-25 23:40
手机号居然可以瞎写,
帮LZ写了一个。话说怎么才能设置"回复可见"啊?

你本身就是回复,呵呵。发新主题可以设置
发表于 2015-4-29 09:23:05 | 显示全部楼层
看看这个没有用。
发表于 2015-8-20 19:05:44 | 显示全部楼层
cload 发表于 2014-3-25 23:40
手机号居然可以瞎写,
帮LZ写了一个。话说怎么才能设置"回复可见"啊?

这个方法好像不行,第一次提交时就会加载一个验证码图片,再次单独请求验证码链接时又会是另外一张验证码图片。用第二次请求到的验证码图片提交是不会成功的。
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

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

GMT+8, 2024-11-24 01:49

© 2014-2021

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