代码之家  ›  专栏  ›  技术社区  ›  Tergiver

如何处理通过WebBrowser控件下载的项目?

  •  0
  • Tergiver  · 技术社区  · 14 年前

    我知道可以通过应用程序传递协议查看Internet Explorer Webbrowser控件下载的每个项目。我现在正在做这件事,但我似乎只能访问有关项的元数据(名称、内容类型等)。有人问我,我们是否也可以扫描每个项目的内容。

    这可以通过webbrowser控件的接口完成吗?可以通过APP完成吗?

    如果可以的话,你能给我一个详细的步骤,包括必须查询的接口名称吗?

    如果缓存了该项,它将如何工作?

    如果浏览器将项目保存在内存中,它将如何工作?它曾经这样做过吗?

    请注意,我指的不是最初获取的顶级文档,而是加载顶级文档(或帧中的文档)后获取的每个项目。每个.css、.js、.jpg等。

    我还被问到是否可以对“出站网络流量”做同样的处理。我甚至不知道这意味着什么,但我想他们是指查看传出的GET请求、头和cookie。

    1 回复  |  直到 14 年前
        1
  •  0
  •   Tergiver    14 年前

    答案就在应用程序中。事务处理程序调用IInternetProtocol::Read的实现。模式是一个“可插入的MIME过滤器”,但是由于我已经有了一个passthrough应用程序,所以我可以只监听Read调用来扫描内容。这适用于缓存项,因为WinInet处理低于应用程序级别的缓存。