首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

怎么截取 页面上的验证码图片

2013-07-20 
如何截取 页面上的验证码图片?比如 要拉取别的网站上的 验证码,然后显示在自己网页上。怎么能获取到他的图

如何截取 页面上的验证码图片?
比如 要拉取别的网站上的 验证码,然后显示在自己网页上。

怎么能获取到他的图片的地址呢? 我看页面源代码关于验证码这块如下:



[解决办法]
这样做的意义何在,自己做个验证码也不是很困难的事情。
[解决办法]
验证码识别??

[解决办法]
该回复于2010-12-10 13:19:24被版主删除
[解决办法]
用于验证码图片识别的类(C#源码)


[解决办法]
自己直接做个验证码就可以了撒。。。。
[解决办法]
自己做个 

   protected void Page_Load(object sender, EventArgs e)
    {
        if (!this.IsPostBack)
        {
            //生成验证码
            string temp = this.GetCode(4);
            HttpCookie cookie = new HttpCookie("yzm");
            cookie.Value = temp;
            Response.Cookies.Add(cookie);
            //画图


            this.GetCheckCodeImage(temp);
        }
    }
    //产生随机字符串 
    private string GetCode(int num)
    {
        string[] source ={ "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", 
            "K", "L", "M", "N", "O","P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z" ,"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", 
            "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y","z"};
        string code = "";
        Random rd = new Random();
        for (int i = 0; i < num; i++)
        {
            code += source[rd.Next(0, source.Length)];
        }
        Session["ValidateCode"] = code;//将字符串保存到Session中,以便需要时进行验证  
        return code;

    }
    #region    验证码
    /// <summary>
    /// 生成验证码
    /// </summary>
    /// <param name="checkCode"></param>
    private void GetCheckCodeImage(string checkCode)
    {
        if (checkCode == null 
[解决办法]
 checkCode.Trim() == String.Empty) return;

        System.Drawing.Bitmap image = new System.Drawing.Bitmap((int)Math.Ceiling((checkCode.Length * 12.5)),25);
        Graphics g = Graphics.FromImage(image);
        try
        {


            Random random = new Random();     //生成随机生成器 
            g.Clear(Color.White);            //清空图片背景色
            for (int i = 0; i < 5; i++)     //画图片的背景噪音线
            {
                int x1 = random.Next(image.Width);
                int x2 = random.Next(image.Width);
                int y1 = random.Next(image.Height);
                int y2 = random.Next(image.Height);
                g.DrawLine(new Pen(Color.Silver), x1, y1, x2, y2);
            }
            Font font = new System.Drawing.Font("Arial", 12, (System.Drawing.FontStyle.Bold 
[解决办法]
 System.Drawing.FontStyle.Italic));
            System.Drawing.Drawing2D.LinearGradientBrush brush = new System.Drawing.Drawing2D.LinearGradientBrush(new Rectangle(0, 0, image.Width, image.Height), Color.Blue, Color.DarkRed, 1.2f, true);
            g.DrawString(checkCode, font, brush, 2, 2);

            //画图片的前景噪音点
            for (int i = 0; i < 60; i++)
            {
                int x = random.Next(image.Width);
                int y = random.Next(image.Height);

                image.SetPixel(x, y, Color.FromArgb(random.Next()));


            }

            //画图片的边框线
            g.DrawRectangle(new Pen(Color.Silver), 0, 0, image.Width - 1, image.Height - 1);
            System.IO.MemoryStream ms = new System.IO.MemoryStream();
            image.Save(ms, System.Drawing.Imaging.ImageFormat.Gif);
            Response.ClearContent();
            Response.ContentType = "image/Gif";
            Response.BinaryWrite(ms.ToArray());
        }
        finally
        {
            g.Dispose();
            image.Dispose();
        }
    }

    #endregion


[解决办法]
图片识别技术
[解决办法]
http://topic.csdn.net/u/20100807/12/9ea012ab-e58e-4d94-bb20-3f66089cb97b.html#r_67559314
[解决办法]
不能识别,首先要保证你识别出的结果正确,再次就是的代码HttpWebRequest的方法与浏览器的一致,如UserAgent等信息
[解决办法]
可以自己生成啊  干嘛截取  
你是不是想抓取被人网页数据而自动输入验证码啊。
[解决办法]
引用:
我不是 搞识别。。。~~~~(>_<)~~~~

如果这样能轻易被解决了,那暴利破解,暴利注册岂不是又泛滥了。。。。
[解决办法]
把这个验证码的网页强型转换成图片,打开网页中的代码,看他session的名字,然后在你自己代码中写判断,输入的与session中的值是否一至!如果一至则验证通过!不一至则验证失败!
[解决办法]
验证码先是写好在一个页面中的,原后在你要显示的那个面页new一个image控件强转网页为图片,输入的时候是取得网页中的session,原后与你输入的值进行对比,正确就验证通过!
[解决办法]
到LZ得网上貌似算是跨域了吧?
即使能得到图片,能保证提交成功么?
[解决办法]
借取了csdn的验证码的生成:
 


  <script type="text/javascript" src="JS/jquery-1.4.4.js"></script>
    <script type="text/javascript">
        $(function() {
            var src = "http://passport.csdn.net/ShowExPwd.aspx?temp=(new Date().getTime().toString(36))";
            $("#validate").attr("src", src);
        });
    </script>



    <img id="validate" />

[解决办法]
引用:
到LZ得网上貌似算是跨域了吧?
即使能得到图片,能保证提交成功么?

对哦,楼主,我上面给你的所以可以得到验证码,但是你有了验证吗?也不能进行匹配啊,这个是个不能解决的问题,所以最好还是自己生成验证码
[解决办法]
我猜想楼主是想做自动注册/发布/搜索类的程序.
一般的网站有几类验证码生成方式.
楼上讲的一般是一个CGI页面生成一个随机字符串,再将字符串生成一张图片.还有先生成一个随机字符串,再将随机字符串分解生成多个图片的,还有其他的一些直接用文本随机数字的,还有用问答方式的.....还有很多种类.
以楼主举例的那种验证码为例,应该就是一个CGI页面生成的随机数.很多网站对这个CGI页面的设计都不一样,有些是直接访问那个页面可以得到验证码,有些需要加一些参数.像加一串随机数,加时间等等.
........
太多了,说不完,我们公司就是专干这个的
[解决办法]
OCR识别

热点排行