Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.75/55: Рейтинг темы: голосов - 55, средняя оценка - 4.75
3 / 3 / 0
Регистрация: 21.03.2015
Сообщений: 67

Извлечение кода из страницы WebView

26.03.2015, 09:49. Показов 12465. Ответов 50
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.
Есть страница загруженная WebView с кодом авторизации, который нужно использовать в приложении.
Как этот код можно извлечь из WebView программно?
Спасибо.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
26.03.2015, 09:49
Ответы с готовыми решениями:

Доступ из HTML кода страницы, загруженной в WebView, к данным приложения
Возможно ли это? В частности, мне нужно передать джаваскрипту страницы версию установленного приложения.

Зум страницы в webview
Есть простое приложение состоящее из webview, и возникает такая проблема, при попытке изменения размера (зум пальцами), страница не как не...

Адрес страницы отображаемой WebView
Всем хаю-хай, скажите, как мне получить ссылку веб-страницы, которая в данный момент отображается у меня на JFrame через WebView. Хотел...

50
3 / 3 / 0
Регистрация: 21.03.2015
Сообщений: 67
26.03.2015, 19:44  [ТС]
Подробно ситуация выглядит так

Окно



вызвано кодом

Java
1
2
3
......
mWebView.loadUrl(authorizationUrl);
......
Как достать Verifier code в приложение отсюда?

0
75 / 75 / 7
Регистрация: 29.03.2012
Сообщений: 256
27.03.2015, 16:46
2 способа:

1. Берешь код элемента body (webview.document.getElementById('body') , и пишешь парсер для конкретного значения
например делишь код на массив строк, бежишь по нему, находишь нужную, затем в строке ищешь первое вхождение indexOf("Verifaed Code:"), и '<\p>' вытаскиваешь подстроку (substring) и все собственно

2. Более цивильный способ - использовать библиотку для парсинга веб страниц, например очень хорошая JSOUP
http://jsoup.org/

там конкретно можно по пути найти значение (document.select('body').select ..... и т.д.)
1
3 / 3 / 0
Регистрация: 21.03.2015
Сообщений: 67
30.03.2015, 01:11  [ТС]
Цитата Сообщение от fgtmenow Посмотреть сообщение
Берешь код элемента body (webview.document.getElementById('body')
это что за выражение? я не нахожу у webview "document".

Можно ли перевести в String всю страницу WebView, с тем, чтобы парсить ее jsoup'ом?

Добавлено через 2 часа 30 минут
Есть ли возможность "не грузить страницу" с помощью webview?
т.е., получить до начала загрузки url, который СОБИРАЕТСЯ грузить webview, для использования в своих целях.

пробую получать url в методе onPageStarted, там не знают подготовленный для загрузки url.
Думаю, нужно переопределить еще один из методов webview,но какой?
0
 Аватар для dajver
411 / 275 / 22
Регистрация: 18.09.2010
Сообщений: 1,114
30.03.2015, 01:27
http://jsoup.org/

Java
1
2
Document doc = Jsoup.connect("ВАШ УРЛ СТРАНИЦЫ").get();
Elements newsHeadlines = doc.select(".messages");
А дальше

Java
1
2
for(Element data : newsHeadlines) 
     Log.e("", data.text());
Добавлено через 1 минуту
И кстати это все должно быть в отдельном треде.
1
3 / 3 / 0
Регистрация: 21.03.2015
Сообщений: 67
30.03.2015, 14:06  [ТС]
Цитата Сообщение от dajver Посмотреть сообщение
И кстати это все должно быть в отдельном треде.
ок, буду пробовать.

Добавлено через 12 часов 37 минут
Дело в том, что подключиться jsoup к url я не могу -- token будет просроченный. А вот пропарсить полученную страницу в webview как-то можно?
типа
Java
1
Document doc = Jsoup.parse(myWebView);
0
75 / 75 / 7
Регистрация: 29.03.2012
Сообщений: 256
30.03.2015, 15:01
http://bit.ly/1HeLGI1 вот тут ответ на твой вопрос,

затем полученный код парси через jsoup
1
3 / 3 / 0
Регистрация: 21.03.2015
Сообщений: 67
30.03.2015, 17:37  [ТС]
Цитата Сообщение от fgtmenow Посмотреть сообщение
http://bit.ly/1HeLGI1 вот тут ответ на твой вопрос,
я так понимаю, для того, чтобы извлечь verifier code в приложение, без javascript не обойтись
0
75 / 75 / 7
Регистрация: 29.03.2012
Сообщений: 256
30.03.2015, 17:53
я бы предложил тебе сделать авторизацию через jsoup, получить документ с токеном и работать уже с ним

вот например сцылочка в помощь
1
3 / 3 / 0
Регистрация: 21.03.2015
Сообщений: 67
30.03.2015, 19:36  [ТС]
Пробую делать через Jsoup, шаг за шагом.
Первый шаг.

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.parsing);
 
        Thread t = new Thread(
 
                new Runnable() {
 
                    public void run() {
 
                        Connection con = Jsoup.connect("http://myMagentoUrl/oauth/initiate");
                        con.method(Connection.Method.POST);
 
                        try {
 
                            Connection.Response resp = con.execute();
                            System.out.println("statusCode: " + resp.statusCode());
 
                        } catch (IOException e) {
                            e.printStackTrace();
                        }
                    }
                });
 
        t.start();
    }
результат:

Code
1
W/System.err: org.jsoup.HttpStatusException: HTTP error fetching URL. Status=400, URL=http://myMagentoUrl/oauth/initiate
0
75 / 75 / 7
Регистрация: 29.03.2012
Сообщений: 256
30.03.2015, 20:19
ты почитай для начала про POST/GET запросы. потому что ты пытаешься сделать.... ну бред полный в данный момент

P.S. попробуй поизучать используя wireshark как общается браузер и сервер, а затем попробуй повторить это в коде самостоятельно
1
3 / 3 / 0
Регистрация: 21.03.2015
Сообщений: 67
30.03.2015, 21:13  [ТС]
Цитата Сообщение от fgtmenow Посмотреть сообщение
ты пытаешься сделать.... ну бред полный в данный момент
Вы меня пристыдили, иду в уголок, обложившись книжками ))
Цитата Сообщение от fgtmenow Посмотреть сообщение
попробуй поизучать используя wireshark как общается браузер и сервер, а затем попробуй повторить это в коде самостоятельно
Буду рад любым примерам, которые помогут попробовать и понять технологию подключения rest api oauth android
0
75 / 75 / 7
Регистрация: 29.03.2012
Сообщений: 256
30.03.2015, 21:40
вот тебе список литературы на ночь

http://habrahabr.ru/company/pentestit/blog/204274/ wireshark
http://habrahabr.ru/post/50147/ POST / GET
https://ru.wikipedia.org/wiki/... D0%B8_HTTP про заголовки HTTP
http://scriptsite.ru/article/show/5/ туда же

пример ... ну черт знает, в ближайшие пару дней тоже с аналогичной задачей буду работать, если не горит покидаю сюда примеры

Добавлено через 5 минут
P.S. ну если вкратце, то копать тебе надо в сторону заголовком запроса и данных, которые ты пытаешься отправить вместе с POST запросом. а в твоем примеры ты пытался отправить совершенно пустой запрос, даже без заголвоком на что и получил ответ сервера "400 ошибка, плохой запрос"
1
3 / 3 / 0
Регистрация: 21.03.2015
Сообщений: 67
30.03.2015, 21:41  [ТС]
Цитата Сообщение от fgtmenow Посмотреть сообщение
пример ... ну черт знает, в ближайшие пару дней тоже с аналогичной задачей буду работать, если не горит покидаю сюда примеры
А я вот думаю, может быть, мне использовать не WebView а что-нибудь пофункциональнее? чью станицу потом можно просто пропарсить на предмет verifier code
0
75 / 75 / 7
Регистрация: 29.03.2012
Сообщений: 256
31.03.2015, 01:09
ну так я тебя с самого первого своего комментария в эту сторону толкаю =)
1
3 / 3 / 0
Регистрация: 21.03.2015
Сообщений: 67
31.03.2015, 01:20  [ТС]
работаю над составлением запросов post и get в java.
может, примерчики проверенные есть?
0
75 / 75 / 7
Регистрация: 29.03.2012
Сообщений: 256
31.03.2015, 09:34
для начала тебе необходимо узнать, какие заголовки содержит post пакет, отправленный обычным браузером серверу

wireshark не так просто я тебе кидал

ну и скажи уже куда ты собираешься логиниться уже ато больно вк напоминает
1
3 / 3 / 0
Регистрация: 21.03.2015
Сообщений: 67
31.03.2015, 10:41  [ТС]
Цитата Сообщение от fgtmenow Посмотреть сообщение
wireshark не так просто я тебе кидал
пробовал я его пользовать, для меня пока слишком сильная вещь
пробую с помощью этой программы разобраться
HTTPAnalyzer
но все равно пока на месте, в моем случае не совсем все понятно

Цитата Сообщение от fgtmenow Посмотреть сообщение
ну и скажи уже куда ты собираешься логиниться уже
это магазин на движке magento
0
914 / 562 / 88
Регистрация: 13.02.2014
Сообщений: 2,082
31.03.2015, 11:11
К сведению.
Код из панели разработки браузера может не совпадать с исходным кодом страницы, поэтому копать надо из реально полученного кода в приложении. Недавно тут кто-то на эти грабли наступал.
1
75 / 75 / 7
Регистрация: 29.03.2012
Сообщений: 256
31.03.2015, 11:32
мы тут речь ведем не о коде страницы а о заголовках запросов, ато запутается еще
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
31.03.2015, 11:32
Помогаю со студенческими работами здесь

Не открываются страницы в WebView Android
У меня есть index.html, help.html, page_1.1.html, page_1.2.html. index.html - главная страница. На главной странице есть ссылка на сайт...

webView загрузка страницы. Не работает сигнал
ui-&gt;webView-&gt;load(QNetworkRequest(QUrl(&quot;http://m.facebook.com&quot;)), ...

Webview локальное приложение не открывает страницы
Хотел быстро запилить прожку для отправки веб запросов типа гет чтобы управлять железками в сети, за вечер гугления кое как собрал WebView,...

Webview Веб браузер отображает некорректно страницы
Прощу прощение если тема не в теме и такое уже== правда искал не нашел Сразу хочу оговориться я не профессиональный программист под...

Получить cookies из загруженной страницы в webview javafx
нужно в cookies найти параметр ssoid


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru