2010-12-07 77 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請求,並在回調函數內部處理結果。

如果你需要一個例子,在家裏有一些示例代碼,將在今晚更新。