GWT查询服务

时间:2010-12-07 05:39:42

标签: web-services url gwt

我正在使用GWT,我需要查询此服务

“https://www.google.com/accounts/RatePassword?Passwd={0}”将收到回复

2 个答案:

答案 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 :(得分:1)

查看com.google.gwt.http.client.Request和com.google.gwt.http.client.RequestBuilder类,它用于发出HTTP请求,在回调函数中,您可以处理结果

如果您需要一个示例,请在家中提供一些示例代码,将在今晚更新。