这是合约。我想在我的javaFX2.2 Web引擎浏览器中将WebScarab设置为内部代理。我尝试了here中描述的解决方案,并查看了同一页面中的链接,但我在Web视图中收到错误。这是我的代码示例:
public WebBrowser() {
System.setProperty("http.proxyHost", "localhost");
System.setProperty("http.proxyPort", "8008");
//ProxySelector.setDefault(new AlwaysProxySelector());
WebView view;
final WebEngine eng;
view = new WebView();
view.setMinSize(10, 10);
view.setPrefSize(500, 400);
eng = view.getEngine();
eng.load("http://www.google.gr");
}
如您所见,我还尝试使用类AlwaysProxySelector的替代解决方案。
Web Scarab默认情况下有一个代理在端口8008的localhost中运行。首先,我运行web scarab,然后运行JavaFX应用程序。这就是问题所在。应用程序不会在输出屏幕中抛出任何异常。但是在Web视图中,我想要加载的页面永远不会出现,并且Web视图中的消息会在Web视图中加载,如下所示:
WebScarab在尝试检索时遇到错误
获取http://www.google.gr:80/ HTTP / 1.1
接受语言:en-us,en; q = 0.5
Accept-Encoding:gzip
Accept-Charset:ISO-8859-1,utf-8; q = 0.7,*; q = 0.7
User-Agent:Mozilla / 5.0(Windows NT 6.1; Win64; x64)AppleWebKit / 535.14(KHTML,与Gecko一样)JavaFX / 2.2 Safari / 535.14
接受:text / html,application / xhtml + xml,application / xml; q = 0.9, / ; q = 0.8
缓存控制:无缓存
Pragma:no-cache
主持人:www.google.gr
代理连接:keep-alive
错误是:
拒绝连接:连接
at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at org.owasp.webscarab.httpclient.URLFetcher.connect(URLFetcher.java:363)
at org.owasp.webscarab.httpclient.URLFetcher.fetchResponse(URLFetcher.java:224)
at org.owasp.webscarab.plugin.saml.SamlHTTPClient.fetchResponse(SamlHTTPClient.java:84)
at org.owasp.webscarab.plugin.proxy.CookieTracker$Plugin.fetchResponse(CookieTracker.java:130)
at org.owasp.webscarab.plugin.proxy.BrowserCache$Plugin.fetchResponse(BrowserCache.java:101)
at org.owasp.webscarab.plugin.proxy.RevealHidden$Plugin.fetchResponse(RevealHidden.java:100)
at org.owasp.webscarab.plugin.proxy.BeanShell$Plugin.fetchResponse(BeanShell.java:229)
at org.owasp.webscarab.plugin.proxy.ManualEdit$Plugin.fetchResponse(ManualEdit.java:243)
at org.owasp.webscarab.plugin.proxy.ConnectionHandler.run(ConnectionHandler.java:228)
at java.lang.Thread.run(Unknown Source)
正如我从错误中可以理解的那样,似乎网络金龟子成功连接到该页面,但它无法将页面检索回webview。每个页面都会出现同样的问题,而不仅仅是谷歌。 我不想使用任何其他代理,但只有网络金龟子才能获得使用其插件的优势。谢谢你的任何想法。
答案 0 :(得分:0)
出于某种原因,WebScarab无法访问相关网站。这显然与WebView无关,因此我们可以从等式中消除这一点。
最可能的问题是WebScarab本身配置了一个代理,WebScarab无法访问。要检查这一点,请转到工具 - >代理,并确保没有配置代理(除非您需要上游代理才能正常访问站点,在这种情况下请确保已正确配置。)