Как перехватить данные http-формы с помощью WebView Android

#android #http #http-headers #android-webview

Вопрос:

Я должен реализовать аутентификацию. Я использую Webview для Android. При открытии веб-страницы входа в систему пользователь вводит адрес электронной почты и пароль и нажимает кнопку «войти». После этого веб-страница перенаправляется на обратный URL-адрес, на этом шаге я должен перехватить только маркер аутентификации в webview и ничего больше. Маркер аутентификации, который мне нужно получить, хранится в данных формы запроса. Я могу увидеть маркер аутентификации в браузере, если я:

1.Откройте инструменты разработчика (нажмите f12 на клавиатуре).

2.Выберите «Сеть».

3.Выберите «Все».

4.Выберите файл на вкладке «Имя» .

5.Выберите «Заголовки».

и я вижу окно, как показано на изображении, и в этом окне показан токен аутентификации введите описание изображения здесь

Как я могу получить данные формы формы токена аутентификации с помощью WebVeiw?

Вот пример того, как разработчики iOS реализовали это:

В Swift наш обратный вызов веб-представления дает нам вещь, называемую a NavigationAction . Сначала мы проверяем, так ли navigationAction.request.url это ..//identity/userAuthenticated . Если это так, то мы анализируем navigationAction.request.httpBody , чтобы получить код аутентификации.

Комментарии:

1. Можете ли вы сначала сказать, где и когда вы пытались перехватить данные, которые должны быть опубликованы, но не преуспели? Добавьте всю информацию в свой пост, пожалуйста.

2. Вам не нужно перехватывать пропуск и электронную почту, которые ввел пользователь? Но ответ с сервера? Тогда что именно вы получаете с сервера, который хотите перехватить? Обычно ли он отображается в веб-представлении? at this stage мне это довольно непонятно. Перехват данных формы выполняется при публикации данных формы. Не тогда, когда вы получаете что-то с сервера.

3. @blackapps Я отредактировал свой вопрос

4. Вы не ответили на мои вопросы так, чтобы это было убедительно для меня. Я больше ничего не знаю из вашего ответа.