Atitit.获取验证码图片通过web

1. WebRequest进行较为底层的访问(不推荐) 1

2. WebBrowser截图 1

3. 剪贴板复制法Clipboard(推荐) 1

4. C# 取WebBrowser中图片 可用于获取验证码 1

1. WebRequest进行较为底层的访问(不推荐)

WebBrowser,始终使用WebRequest进行较为底层的访问

2. WebBrowser截图

最近和一位朋友探讨获取WebBrowser访问的网页中验证图片的方法,起先想到的就是通过WebClient直接去下载当前页面中引用的验证码图片,但继而想到这会涉及一些问题:一是验证码可能会在每次请求时都发生变化,二是将WebClient与WebBrowser的Cookies甚至Session关联起来是件很难的事。

而后就想到了可以放弃WebBrowser,始终使用WebRequest进行较为底层的访问,以避免多次获取验证码产生变化导致不一致的情况,不过这种办法操作起来还是比较复杂的。

然后又想到这种变通的方法——抓图。只需要直接通过WebBrowser截图,并将验证码以外的部分裁剪掉,就可以了。

作者:: 老哇的爪子 Attilax 艾龙,  EMAIL:1466519819@qq.com

转载请注明来源: http://blog.csdn.net/attilax

3. 剪贴板复制法Clipboard(推荐)

4. C# 取WebBrowser中图片 可用于获取验证码

分类: .NET学习2012-11-01 21:52 2634人阅读 评论(1) 收藏 举报

[csharp] view plaincopy

1. /// <summary>

2. /// 返回指定WebBrowser中图片<IMG></IMG>中的图内容

3. /// </summary>

4. /// <param name="WebCtl">WebBrowser控件</param>

5. /// <param name="ImgeTag">IMG元素</param>

6. /// <returns>IMG对象</returns>

7. private Image GetWebImage(WebBrowser WebCtl, HtmlElement ImgeTag)

8. {

9.     HTMLDocument doc = (HTMLDocument)WebCtl.Document.DomDocument;

10.     HTMLBody body = (HTMLBody)doc.body;

11.     IHTMLControlRange rang = (IHTMLControlRange)body.createControlRange();

12.     IHTMLControlElement Img = (IHTMLControlElement)ImgeTag.DomElement; //图片地址

13.     Image oldImage = Clipboard.GetImage();

14.     rang.add(Img);

15.     rang.execCommand("Copy", false, null);  //拷贝到内存

16.     Image numImage = Clipboard.GetImage();

17.     try

18.     {

19.         Clipboard.SetImage(oldImage);

20.     }

21.     catch {}

22.     return numImage;

23. }

Javascript 实现复制(Copy)动作方法大全_javascript技巧_脚本之家.html

java中操作剪贴板 - #include Cannel_2020  - 博客频道 - CSDN.NET.html

Atitit.获取验证码图片通过web的更多相关文章

  1. js 跨域访问 获取验证码图片 获取header 自定义属性

    1.net core web api 后端 /// <summary> /// 图形验证码 /// </summary> [HttpGet] public IActionRes ...

  2. b站滑动验证码图片的获取-python

    本文仅是获取验证码图片,python+selenium实现 图片的处理,算出偏移位置网上都有现成的:而由于b站的更新,图片的获取则与之前完全不同,不能直接从html中拿到 过程比较曲折所以记录一下,可 ...

  3. python爬虫之获取验证码登陆

    #--coding:utf-8#author:wuhao##这里我演示的就是本人所在学校的教务系统#import urllib.requestimport urllib.parseimport rei ...

  4. DelphiXE10.2.3——跨平台生成验证码图片

    $("#img-code").bind( 'click', function () { $(this).attr('src','VerifyCode?t='+Math.random ...

  5. 【转】DelphiXE10.2.3——跨平台生成验证码图片

    原文地址 Java.PHP.C#等很容易在网上找到生成验证码图片的代码,Delphi却寥寥无几,昨天花了一整天时间,做了个跨平台的验证码,可以用在C/S和B/S端,支持Windows.Linux.An ...

  6. python2 生成验证码图片

    使用pillow或者pil库编写 #coding:utf-8 #use pillow or pil try: from PIL import Image, ImageDraw, ImageFont, ...

  7. SpringMVC生成的验证码图片不显示

    近期用SSM框架写一个项目,登录模块需要生成验证码图片,我把相关的代码写好了之后传到 jsp ,但是图片不显示,查看控制台显示404,反复查询了一下代码并没有发现任何问题,代码如下: @Control ...

  8. Web验证码图片的生成-基于Java的实现

    验证码图片是由程序动态产生的,每次访问的内容都是随机的.那么如何采用程序动态产生图片,并能够显示在客户端页面中呢?原理很简单,对于java而言,我们首先开发一个Servlet,这个Servlet的任务 ...

  9. Linux 部署java web 项目,验证码图片不显示文字问题

    系统上线后,在获取验证码接口时,获取的验证码图片上没有对应的验证码数字,经过验证后,是由于Linux缺少字体造成的. 正常我们也可以将window的字体直接上传到linux服务器上,window的字体 ...

随机推荐

  1. php 将网页执行的输出写入到本地文件中

    php -f /var/www/html/default/script/lol_score_calculate/calculate.php >>score_calcutelate.log

  2. 解决:解压zip文件却变成cpgz文件

    众所周知,zip是一种压缩文件格式,MAC OS默认支持的文件格式,当时偶尔当你打开zip文件想要解压时,却自动变成了cpgz文件而没有解压,再双击这个cpgz文件,Archive Utility又会 ...

  3. GPGPU OpenCL 精确字符串查找

    字符串查找是信息安全.信息过滤领域的重要操作,尤其是对大文本的实时处理.这篇作为实例,使用GPU OpenCL进行精确模式串查找. 1.加速方法 (1)将少量常量数据,如模式串长度.文本长度等,保存在 ...

  4. JS中常用坐标offset、scroll、client的区别

    在IE中scrollWidth:获取对象的滚动宽度scrollHeight: 获取对象的滚动高度.scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离scrollTop ...

  5. Hadoop 基本架构

    Hadoop 由两部分组成,分别是分布式文件系统和分布式计算框架 MapReduce. 其中分布式文件系统主要用于大规模数据的分布式存储,而 MapReduce 则构建在分布式文件系统之上,对存储在分 ...

  6. java 内存泄漏和内存溢出

    参考:https://blog.csdn.net/eff666/article/details/52784724 1.内存溢出  内存溢出:OOM(OutOfMemoryError)异常,即程序需要内 ...

  7. Android -- Spinner && AutoCompleteTextView

    Spinner 下拉选择框                                                                     Android给我们提供了一个Spi ...

  8. 从AIDL开始谈Android进程间Binder通信机制

    转自: http://tech.cnnetsec.com/585.html 本文首先概述了Android的进程间通信的Binder机制,然后结合一个AIDL的例子,对Binder机制进行了解析. 概述 ...

  9. Hidden Markov Model Toolbox for Matlab

    官网:http://www.cs.ubc.ca/~murphyk/Software/HMM/hmm.html Download Click here. Unziping creates a direc ...

  10. [AngularJS] ng-change vs $scope.$watch

    <div class="form-group"> <label for="pwd">Password</label> < ...