如何使用DJNativeSwing配置默认URL / HTTP处理程序

时间:2012-05-31 11:50:39

标签: java swing

概述:     我正在创建一个Swing应用程序,它具有嵌入式Web浏览器(DJ Native 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满足要求的替代方法也很受欢迎。

1 个答案:

答案 0 :(得分:1)

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

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

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