GWT Query Service - PullRequest
       1

GWT Query Service

2 голосов
/ 07 декабря 2010

Я использую GWT, и мне нужно запросить этот сервис

"https://www.google.com/accounts/RatePassword?Passwd={0}", который будет получать ответ

Ответы [ 2 ]

2 голосов
/ 07 декабря 2010

Просто перечитайте вопрос, если бы этот вывод был получен с вашего собственного сервера (что, очевидно, не так), что-то вроде этого сработало бы:

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 (Same Origin Policy). Первый вариант - сделать запрос на стороне сервера, возможно, кешировать результаты, а затем сделать запрос на ваш собственный сервер для получения данных. В Python есть библиотека HTMLLib, которая позволит вам сделать именно это (в случае, если вы используете бэкэнд Python), в противном случае (для бэкэндов в PHP / JAVA / PERL / C ++ ..., если у них нет своих соответствующих библиотек), вы Вам нужно будет выполнить какое-то ручное сетевое программирование, чтобы открыть соединение с этим хостом через порт 443 и прочитать результат.

Если вы хотите сделать запрос непосредственно из GWT и пропустить сложности бэкэнда, вам нужно добавить некоторые достоинства JSNI, которые позволят вам писать JavaScript внутри GWT. Я видел пример в приложении GWT StockWatcher, где JSNI используется для чтения JSON с внешнего хоста, возможно, используйте его в качестве отправной точки.

Самая простая альтернатива - написать собственный алгоритм оценки паролей на основе алгоритмов, доступных в сети.

Удачи: -)

1 голос
/ 07 декабря 2010

Посмотрите на классы com.google.gwt.http.client.Request и com.google.gwt.http.client.RequestBuilder, он используется для выполнения HTTP-запросов, а внутри функции обратного вызова вы можете обработать результат. .

Приготовьте пример кода дома, если вам нужен пример, обновлю сегодня вечером.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...