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

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

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

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

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

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

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

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

50
3 / 3 / 0
Регистрация: 21.03.2015
Сообщений: 67
02.04.2015, 15:50  [ТС] 41
Author24 — интернет-сервис помощи студентам
Цитата Сообщение от fgtmenow Посмотреть сообщение
Но эту связку не легко заставить работать
в чем могут быть трудности?
0
75 / 75 / 7
Регистрация: 29.03.2012
Сообщений: 256
02.04.2015, 16:55 42
в Android SDK. Она версия от версии убирают некоторые "опасные" методы. Вот с этим тоже помнится проблемы были. но у меня заработало и работает. так что, вперед. это максимум чем я могу помочь
1
3 / 3 / 0
Регистрация: 21.03.2015
Сообщений: 67
03.04.2015, 18:30  [ТС] 43
Пробую пример с JavaSctiptInterfaceGetHtml
Мой код практически не отличается от кода в примере

onCreate()
Java
1
2
3
4
5
6
7
8
9
        mWebView = (WebView)findViewById(R.id.webview);
        WebSettings webSettings = mWebView.getSettings();
        webSettings.setJavaScriptEnabled(true);
        webSettings.setLoadsImagesAutomatically(false);
        webSettings.setUseWideViewPort(true);
        webSettings.setLoadWithOverviewMode(true);
        webSettings.setUserAgentString("Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) 
        Chrome/40.0.2214.115 Safari/537.36");
        addInterface();
сразу после onCreate()
Java
1
2
3
4
5
6
7
8
9
10
11
12
void addInterface(){
        
        mWebView.removeJavascriptInterface("HTMLOUT");
        class JavaSctiptInterfaceGetHtml{
 
            public void getHTML(String s){
                System.out.println("-------------------HTML " + s);
            }
        }
        mWebView.addJavascriptInterface(new JavaSctiptInterfaceGetHtml(),"HTMLOUT");
 
    }
onPageFinished()

Java
1
2
3
4
5
6
7
8
public void onPageFinished(WebView view, String url) {
                super.onPageFinished(view, url);
                
                if(url.startsWith("http://myURL/index.php/oadmin/oauth_authorize/confirm/?oauth_token"))
                {
                    mWebView.loadUrl("javascript:window.HTMLOUT.getHTML('<head>'+document.getElementsByTagName('HTML')[0].innerHTML+'</head>');");
                }
            }
-метод addInterface() срабатывает
-конструктор JavaSctiptInterfaceGetHtml тоже
-if, вызывающий
Java
1
mWebView.loadUrl("javascript:window.HTMLOUT.getHTML('<head>'+document.getElementsByTagName('HTML')[0].innerHTML+'</head>');");
также срабатывает

-метод public void getHTML(String s) не срабатывает.

При моих нынешних знаниях javascript пока не могу определить причину

Добавлено через 1 час 4 минуты
разбираюсь

Добавлено через 19 часов 28 минут
Цитата Сообщение от fgtmenow Посмотреть сообщение
Но эту связку не легко заставить работать
так оно и есть пока...
0
75 / 75 / 7
Регистрация: 29.03.2012
Сообщений: 256
05.04.2015, 03:51 44
пссс я тут в соседней теме решал схожую проблему с авторизацией - посмотри, может найдешь чего полезного

POST авторизация с использованием JSOUP
1
3 / 3 / 0
Регистрация: 21.03.2015
Сообщений: 67
11.04.2015, 12:12  [ТС] 45
Получилось) Достал verifier code)
Осталось подпилить метод и передать verifier code для дальнейшей авторизации.

Сделал с помощью этой темы
Т.е., отправляя запросы авторизации не webview, а jsoup.

Добавлено через 13 часов 42 минуты
на следующем этапе, после запроса вида
Код
http://myUrl/api/rest//products?limit=15
получил ответ сервера 500

Добавлено через 18 минут
хотя идентичный код в NetBeans java application работает как нужно

В чем проблема Android studio и genymotion?
0
75 / 75 / 7
Регистрация: 29.03.2012
Сообщений: 256
12.04.2015, 12:34 46
Код
http://myUrl/api/rest//products?limit=15

лично мне не нравится // в середине
1
3 / 3 / 0
Регистрация: 21.03.2015
Сообщений: 67
12.04.2015, 15:33  [ТС] 47
Цитата Сообщение от fgtmenow Посмотреть сообщение
лично мне не нравится // в середине
Пробовал и с одним слешем и с двумя. В NetBeans, в работающие java проекте, запрос выполняется и с двумя, и с одним. В неработающем, в Android Studio -- наоборот, ни один вариант не дает результата.

Нашел вот тему, где человек говорит, что библиотека, которую я использую, не может быть использована для приложений Андроид. Буду пробовать другую.
0
75 / 75 / 7
Регистрация: 29.03.2012
Сообщений: 256
12.04.2015, 19:22 48
да, такое вполне возможно и встречается нередко
1
3 / 3 / 0
Регистрация: 21.03.2015
Сообщений: 67
13.04.2015, 16:27  [ТС] 49
Кажись, заработало

В последнем запросе вида
Код
GET /api/rest/products?limit=2
не хватало header-параметра Accept. Добавил и все пошло.

В приложении java этот параметр добавляется автоматически, в Android приложении нужно вручную.

Добавлено через 7 часов 18 минут
Есть хорошие примеры, как отпарсить json, полученный из magento сервера?
0
75 / 75 / 7
Регистрация: 29.03.2012
Сообщений: 256
13.04.2015, 17:51 50
http://www.androidhive.info/20... -tutorial/

первая ссылка в гугле по фразе "json parse java android"
1
3 / 3 / 0
Регистрация: 21.03.2015
Сообщений: 67
20.04.2015, 13:55  [ТС] 51
В общем разобрался с подключением и выводом на экран списка товаров магазина.
Подключение oauth делаю без браузера -- составлением пост и гет запросов в приложении.
1
20.04.2015, 13:55
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.04.2015, 13:55
Помогаю со студенческими работами здесь

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
51
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru