Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.67/21: Рейтинг темы: голосов - 21, средняя оценка - 4.67
lihusha
3 / 3 / 0
Регистрация: 21.03.2015
Сообщений: 67
1

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

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

Здравствуйте.
Есть страница загруженная WebView с кодом авторизации, который нужно использовать в приложении.
Как этот код можно извлечь из WebView программно?
Спасибо.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.03.2015, 09:49
Ответы с готовыми решениями:

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

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

WebView. Получение исходного кода. Зависание
final WebView browser = (WebView) findViewById(R.id.webView); ...

Вместо открытия страницы в WebView предлагает открытие в браузере
Добрый день. У меня есть Webview-открываю страничку в страничке есть форма...

Получение кода страницы
Приложение закрывается после нажатия на кнопку почему? public class...

50
lihusha
3 / 3 / 0
Регистрация: 21.03.2015
Сообщений: 67
02.04.2015, 15:50  [ТС] 41
Цитата Сообщение от fgtmenow Посмотреть сообщение
Но эту связку не легко заставить работать
в чем могут быть трудности?
0
fgtmenow
75 / 75 / 7
Регистрация: 29.03.2012
Сообщений: 257
02.04.2015, 16:55 42
в Android SDK. Она версия от версии убирают некоторые "опасные" методы. Вот с этим тоже помнится проблемы были. но у меня заработало и работает. так что, вперед. это максимум чем я могу помочь
1
lihusha
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
fgtmenow
75 / 75 / 7
Регистрация: 29.03.2012
Сообщений: 257
05.04.2015, 03:51 44
пссс я тут в соседней теме решал схожую проблему с авторизацией - посмотри, может найдешь чего полезного

POST авторизация с использованием JSOUP
1
lihusha
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
fgtmenow
75 / 75 / 7
Регистрация: 29.03.2012
Сообщений: 257
12.04.2015, 12:34 46
Код
http://myUrl/api/rest//products?limit=15

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

Нашел вот тему, где человек говорит, что библиотека, которую я использую, не может быть использована для приложений Андроид. Буду пробовать другую.
0
fgtmenow
75 / 75 / 7
Регистрация: 29.03.2012
Сообщений: 257
12.04.2015, 19:22 48
да, такое вполне возможно и встречается нередко
1
lihusha
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
fgtmenow
75 / 75 / 7
Регистрация: 29.03.2012
Сообщений: 257
13.04.2015, 17:51 50
http://www.androidhive.info/2012/01/android-json-parsing-tutorial/

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

Получение кода web страницы
Не могу получить код web страницы: runOnUiThread(new Runnable() { ...

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

Вытянуть информацию с кода страницы сайта
Всем привет! Нашел пример в интернете как сделать простое приложение, которое...


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

Или воспользуйтесь поиском по форуму:
51
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru