0

概述:我正在创建一个具有嵌入式 Web 浏览器(DJ Native Swing)的 Swing 应用程序。此 Web 浏览器需要能够显示使用 Java 和 GPG 即时解密的内容。

因此,假设您有一个简单的 a.html,其中包含以下内容:

< html >
< body >
Hello world
< img src="b.jpg">
< /body>
</ html>

处理程序首先应该看到对“a.html”的请求,然后我们的处理程序将定位文件 a.html.gpg(加密文件),将其转换为 a.html,打开它并将字节写回浏览器作为处理程序结果。

现在浏览器查看内容并意识到需要发出另一个请求,因此它尝试访问 b.jpg。我们的处理程序应该看到该请求并重复逻辑,现在将组成 b.jpg 的字节作为结果发送回来。

所以我们真正想要的是拦截 a.html、b.jpg 的每个 HTTPRequest,并且 URL 处理程序中的自定义代码将解密该文件并提供浏览器应该使用的字节并在页面上呈现 Web 组件.

解密逻辑很好,只需要一种拦截 URL 的方法,让 JWebBrowser 能够使用解密的字节来呈现页面。

我确实看到了一个方法 WebServer.addContentProvider(HTTPRequest req) 但不知道如何使用它。任何满足 Dj Native Swing 要求的替代方法也值得赞赏。

4

1 回答 1

1

DJ Native Swing 使用本机系统浏览器(嗯,是的,这很明显)并且提供了一小部分功能。而且我很久以前在使用它时没有找到任何方法来拦截浏览器请求。

浏览器似乎也使用自己的方法来连接和检索数据(包括自己的代理、设置等)。

我建议您研究与 Swing 的跨平台 JavaFX 浏览器集成(您可以在此处阅读如何做到这一点)。它有很多功能都可以从你的 Swing 应用程序中访问(你可以在这里阅读更多)。

于 2012-05-31T13:05:13.747 回答