javafx2.2 Webengine和Webscarab之间的连接失败 [英] Connection between javafx2.2 webengine and webscarab fails

查看:83
本文介绍了javafx2.2 Webengine和Webscarab之间的连接失败的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是交易.我想将WebScarab设置为javaFX2.2 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的代理默认情况下在localhost的端口8008上运行.首先,我运行Web scarab,然后运行我的JavaFX应用程序.这就是问题所在.该应用程序不会在输出屏幕中引发任何异常.但是在Web视图中,我要加载的页面从未出现,并且来自Web Scarab的消息加载到Web视图中,如下所示: WebScarab尝试检索时遇到错误

获取 http://www.google.gr:80/ HTTP/1.1

接受语言:en-us,en; q = 0.5

接受编码:gzip

接受字符集:ISO-8859-1,utf-8; q = 0.7,*; q = 0.7

用户代理: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

缓存控制:无缓存

编译指示:无缓存

主持人:www.google.gr

代理连接:保持活动状态

错误是:

连接被拒绝:连接

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.每个页面都会发生相同的问题,而不仅仅是Google. 我不想使用任何其他代理,而只是使用Web Scarab来获得使用其插件的优势.谢谢你的想法.

解决方案

由于某些原因,WebScarab无法访问有问题的站点.显然,这与WebView无关,因此我们可以从方程式中消除这一点.

最可能的问题是WebScarab本身配置了一个代理,WebScarab无法访问.要对此进行检查,请转到工具->代理,并确保未配置任何代理(除非您需要上游代理才能正常访问这些站点,在这种情况下,请确保已正确配置该代理.)

Here is the deal. I want to set WebScarab as the internal proxy in my javaFX2.2 Web engine browser. I try a solution as described in here and also had a look to the links in the same page, but i get an error in the web view. here is a sample of my code:

        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");
    }

As you can see i try also the alternative solution with class AlwaysProxySelector.

Web Scarab has a proxy that runs in localhost at port 8008 by default. First I run web scarab and then my JavaFX application. And here is the problem. The application does not throw any exception in the output screen. But in the web view, the page I want to load, never appears and a message from web scarab loads in the web view as below: WebScarab encountered an error trying to retrieve

GET http://www.google.gr:80/ HTTP/1.1

Accept-Language: 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, like Gecko) JavaFX/2.2 Safari/535.14

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8

Cache-Control: no-cache

Pragma: no-cache

Host: www.google.gr

Proxy-Connection: keep-alive

The error was :

Connection refused: connect

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)

As I can understand from the error, it seems that web scarab successfully connect to the page, but it can not retrieve the page back to the webview. The same problem occurs for every page, not only google. I do not want to use any other proxy, but only web scarab to get the advantage of using its plugins. Thanks for any idea.

解决方案

For some reason, WebScarab is unable to reach the sites in question. This is clearly nothing to do with WebView, so we can eliminate this from the equation.

The most likely problem is that there is a proxy configured in WebScarab itself, that WebScarab cannot reach. To check this, go to Tools -> Proxies, and make sure that there is no proxy configured (unless you need an upstream proxy to reach the sites normally, in which case make sure that that is properly configured.)

这篇关于javafx2.2 Webengine和Webscarab之间的连接失败的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆