验证码识别问题

需要做一个系统工具,抓取一些数据,遇到了验证码问题:

 

如何获得网页中验证码图片的内容。

 

想法:

1、通过验证码图片地址,读取URL,然后从浏览器缓存读取缓存文件

      问题:缓存读取有权限限制,不可行

2、通过mshtml获取验证码图片的一个内存拷贝并放置在剪切板

  问题:容易把剪切板弄脏,而且,关键是你刚放进去,又被别的地方冲突了,还不能并发

3、网络有说拦截wininet来实现流的拦截

  问题:一直没有解决,说是IE11无效,偏偏我的就是IE11,也需要考虑IE11

4、向通过WebClient或WebRequest来下载验证码图片

  问题:没办法与内嵌的WebBrowser共享会话(尝试过修改COOKIE,没达成目的)

5、mshtml有Render接口,不知道有没有类似的接口通过mshtml获得img对象的内存流

  问题:mshtml文档参考几乎为零

 

请问:

  有什么好的办法能解决?

DIEA
浏览 446回答 2
2回答

动漫人物

通过2解决。剪切板做一个并发控制和重试机制。基本能用了。 

慕标5832272

我使用的是4,以及js获取base64
打开App,查看更多内容
随时随地看视频慕课网APP