与Codename one中的HTTPClient功能相同

时间:2014-01-29 22:42:14

标签: codenameone

我想知道如何实现像HTTPClient这样的东西。 我尝试了WebBrowser类,但似乎即使指定的URL尚未加载,执行仍会继续。

public void testWebBrowser(){
final WebBrowser b = new WebBrowser(){

    @Override
    public void onLoad(String url) {
        BrowserComponent c = (BrowserComponent)this.getInternal();
        JavascriptContext ctx = new JavascriptContext(c);
        // I want this Javascript context here
    }

};
// just a test URL
b.setURL("http://youtube.com");
// Suppose to get the Javascript context here though it executes without waiting for the whole page to load
}

如何从WebBrowser上下文中获取JS Context?像同步执行一样

WebBrowser browser = new WebBrowser();
browser.setURL("someURL");
// wait execution till the whole page in "someURL" loads till it executes the next line
BrowserComponent c = (BrowserComponent)browser.getInternal();
JavascriptContext ctx = new JavascriptContext(c);

1 个答案:

答案 0 :(得分:0)

如果我理解正确,您正在尝试创建一个抓取解决方案?

这可能不是理想的方法,因为这实际上会创建一个Web浏览器,然后您需要使用JavaScript自动化。我建议你创建一个封装HttpClient功能的web服务,并用ConnectionRequest驱动它。这样,当网站发生变化时,您可以通过与已安装的基础无缝连接的方式修复服务器。