首页 > 代码库 > C# 获取动态验证码?
C# 获取动态验证码?
如何获取动态验证码(比如登录验证码,每次访问码值都是不一样的)。本来想从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; } |
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。