2010-12-07 55 views
2

我使用GWT,我需要查询该服务GWT查询服务

“https://www.google.com/accounts/RatePassword?Passwd={0}”,这将获取的响应

回答

2

只是重读的问题,如果产量从您自己的服务器来(这显然不是),这样的事情会工作:

RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, URL.encode(url)); 
try { 
    builder.sendRequest(null, new RequestCallback() { 
     @Override public void onError(Request request, Throwable exception) { 
      Window.alert("Error: " + exception.toString()); 
     } 
     @Override public void onResponseReceived(Request request, Response response) { 

      Window.alert(response.getStatusText()); 
      Window.alert("Result="+response.getText()); 
     } 
    }); 
} catch (RequestException e) { 
    Window.alert("ERROR:"+e.getMessage()); 
} 

它不会工作直接从远程请求服务器由于SOP(相同来源策略)被强制执行。第一个选项是使请求服务器端可以缓存结果,然后向自己的服务器发出请求以获取数据。 Python有一个HTMLLib库,它可以让你做到这一点(如果你运行的是Python后端),否则(对于PHP/JAVA/PERL/C++中的后端...除非它们有自己的相关库),那么你将需要做一些手动网络编程来在端口443上打开与该主机的连接并回读结果。

如果你想直接从GWT发出请求并跳过后端复杂性,那么你需要抛出一些JSNI的好处,这将允许你在GWT中编写JavaScript。我在GWT StockWatcher应用程序中看到过一个例子,其中JSNI用于从外部主机读取JSON,可能将其用作起点。

最简单的方法就是根据网络上可用的算法编写自己的密码分级算法。

祝你好运:-)

1

查看com.google.gwt.http.client.Request和com.google.gwt.http.client.RequestBuilder类,它用于制作HTTP请求,并在回调函数内部处理结果。

如果你需要一个例子,在家里有一些示例代码,将在今晚更新。