0

我可以在我的网络引擎中加载一个 html 文件,并使用以下代码通过 Webscarab 发送流量:

System.setProperty("http.proxyHost", "localhost");
System.setProperty("http.proxyPort", "8008");
eng = view.getEngine();          
eng.load("http://##########/");

问题是我想通过该eng.loadContent(String htmlCode);方法加载本地 html 页面并再次通过 Webscarab 发送流量。当我将内容加载到网络引擎中时,Webscarab 正在运行,但它似乎不会干扰通信。

我的目标是通过套接字在客户端和服务器之间实现通信。该服务器是一个 java 程序,与 Apache 服务器在同一台机器上运行,我有我的 html 和 php 页面。当用户正确登录到服务器时,服务器将其中一个页面点击到本地 HTTP 服务器,并通过套接字将页面的源作为字符串发送回客户端。

接下来就是webscarab在加载这个内容到webengine并在webview中查看html页面之前进行干预。更改代码后,我想再次通过套接字将响应从 webengine 发送到服务器。为了更好地理解我想要做什么,下面是我的系统架构图。 在此处输入图像描述

提前致谢

4

1 回答 1

0

当您使用 html 从 html 加载页面时loadContent(),JVM 之外没有流量。您创建一个字符串,将其放入WebEngine并解析该字符串。没有代理,没有网络,没有套接字,除非你的页面引用了一些网络资源。

作为一种解决方法,您可以尝试使用单独的引擎来提供本地 html 作为站点。例如码头服务器。在 Jetty 中,您可以引入一个简单的处理程序,该处理程序返回您需要的字符串,然后将相应的 url 提供给WebEngine.

于 2012-11-26T16:10:36.427 回答