2014-02-13 28 views
-1

我在vb.net WebBrowser控件和加载页面时出现,该页面有图像,我希望能够到的图像存储在一个位图的变量。如何获得当前装入WebBrowser控件.NET中的图像

无法使用图像url发出任何进一步的http请求,因为图像在每个请求上发生变化。

该图像通过HTTPS连接在网页浏览器中下载。

  1. 试过URLToFile的事情,它没有发现试过的execCommand和复印图像
  2. 到剪贴板,但剪贴板 总是返回任何内容。
  3. 真的不能把图像区域的截图,因为 Web浏览器控件将用户隐藏的形式。

有人吗?

+0

所以你正在尝试解决CAPTCHA? –

+0

不,尽管类似的概念 – user2280232

回答

0

找到了完美的解决方案..在这里。

使用FiddlerCore你应该听使用FiddlerCore的BeforeResponse事件浏览器发出的HTTP/HTTPS请求。

在当web浏览器下载的图像BeforeResponse会给你包含图像数据的响应数据(Session.ResponseBody)Session对象的一些点。

所以,你需要找到通过URL(也可以用Session.fullurl访问正确的Session并获取图像数据(Session.ResponseBody)

之后,你需要将响应数据转换为使用此为位图:

Dim ms As New IO.MemoryStream 
ms.Write(ressess(ri).ResponseBody, 0, ressess(ri).ResponseBody.Length) 
currcapimg = System.Drawing.Image.FromStream(ms) 
ms.Close() 
相关问题