首页 > 其他 > 详细

C# 获取动态验证码?

时间:2014-05-12 04:31:36      阅读:377      评论:0      收藏:0      [点我收藏+]

如何获取动态验证码(比如登录验证码,每次访问码值都是不一样的)。本来想从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# 获取动态验证码?

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!