码迷,mamicode.com
首页 > 其他好文 > 详细

C# 获取动态验证码?

时间:2014-05-12 04:33:09      阅读:619      评论:0      收藏:0      [点我收藏+]

标签:style   blog   class   code   c   int   

如何获取动态验证码(比如登录验证码,每次访问码值都是不一样的)。本来想从cookie上入手但是,每次访问虽然码值不一样,但是后来发现它们的cookie一样的。这个道路就行不通了。

目前知道一个解决方案,就是通过WebBrowser获取然后显示的html,1、种方法直接截图;2、将图片元素的DomElement作为参数,方法如下。但是这种方法效率太低..,求高效的方法。
结合mshtml.dll.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
[ComImport, InterfaceType((short)1), Guid("3050F669-98B5-11CF-BB82-00AA00BDCE0B")]
private interface IHTMLElementRenderFixed
{
void DrawToDC(IntPtr hdc);
void SetDocumentPrinter(string bstrPrinterName, IntPtr hdc);
}
public Bitmap GetImage(object obj)
{
IHTMLImgElement img = (IHTMLImgElement)obj;
IHTMLElementRenderFixed render = (IHTMLElementRenderFixed)img;
 
Bitmap bmp = new Bitmap(img.width, img.height);
Graphics g = Graphics.FromImage(bmp);
IntPtr hdc = g.GetHdc();
render.DrawToDC(hdc);
g.ReleaseHdc(hdc);
return bmp;
}

  

C# 获取动态验证码?,布布扣,bubuko.com

C# 获取动态验证码?

标签:style   blog   class   code   c   int   

原文地址:http://www.cnblogs.com/wangn/p/3721258.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!