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

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"falsenull);  //拷贝到内存  

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值