Форум программистов, компьютерный форум CyberForum.ru

Получить код HTML страницы - Android

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 21, средняя оценка - 4.71
Rube
910 / 558 / 87
Регистрация: 13.02.2014
Сообщений: 2,066
18.02.2014, 16:04     Получить код HTML страницы #1
Уважаемые гуру, подскажите чем быстрей и проще получить код HTML страницы. Обычной общедоступной, без авторизации.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
dan41k
]:->
 Аватар для dan41k
97 / 91 / 13
Регистрация: 12.11.2013
Сообщений: 398
18.02.2014, 16:10     Получить код HTML страницы #2
Java
1
2
3
URL pageURL = new URL(pageAddress);
        URLConnection uc = pageURL.openConnection();
BufferedReader buff = new BufferedReader(new InputStreamReader(uc.getInputStream()));
NiRamz
210 / 210 / 16
Регистрация: 26.12.2010
Сообщений: 691
18.02.2014, 16:10     Получить код HTML страницы #3
Java
1
2
3
4
5
HttpClient httpclient = new DefaultHttpClient();
HttpGet httpget = new HttpGet("http://mysite.com");
HttpResponse response = httpclient.execute(httpget);
     HttpEntity httpEntity =response.getEntity();
     String line = EntityUtils.toString(httpEntity, "UTF-8");
dan41k
]:->
 Аватар для dan41k
97 / 91 / 13
Регистрация: 12.11.2013
Сообщений: 398
18.02.2014, 16:11     Получить код HTML страницы #4
хм, а стандартные Java не покатят?)
angryrobot
Командир зеленых роботов
 Аватар для angryrobot
346 / 283 / 53
Регистрация: 08.10.2013
Сообщений: 563
18.02.2014, 16:11     Получить код HTML страницы #5
Цитата Сообщение от Rube Посмотреть сообщение
Уважаемые гуру, подскажите чем быстрей и проще получить код HTML страницы. Обычной общедоступной, без авторизации.
Смотрите класс URL
Не забудьте только добавить разрешение в манифест, и не делайте получение страницы в main потоке
Rube
910 / 558 / 87
Регистрация: 13.02.2014
Сообщений: 2,066
24.02.2014, 22:16  [ТС]     Получить код HTML страницы #6
Вот набросал, вроде работает, посмотрите, замечания может какие есть?
Кликните здесь для просмотра всего текста
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
28
29
30
31
32
33
34
public class MyActivity extends Activity {
    RequestTask htm;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_my);
    }   
    
    public void Clickme(View v) throws Exception {
        final TextView textView = (TextView) findViewById(R.id.textView1);
        htm = new RequestTask();
        htm.execute("http://www.cyberforum.ru/android-dev/");       
        textView.setText(htm.get());
    }
        
    class RequestTask extends AsyncTask<String, String, String>{    
        @Override
        protected String doInBackground(String... url) {
            StringBuilder sb = new StringBuilder();
            try {
                URL pageURL = new URL(url[0]);
                String inputLine;
                URLConnection uc = pageURL.openConnection();
                BufferedReader buff = new BufferedReader(new InputStreamReader(uc.getInputStream()));
                while ((inputLine = buff.readLine()) != null) {
                    sb.append(inputLine);
                    } 
                }
            catch (Exception e) {
            }
            return sb.toString();
        }
    }
}
dan41k
]:->
 Аватар для dan41k
97 / 91 / 13
Регистрация: 12.11.2013
Сообщений: 398
24.02.2014, 23:00     Получить код HTML страницы #7
Java
1
2
buff.close();
uc.close();
Rube
910 / 558 / 87
Регистрация: 13.02.2014
Сообщений: 2,066
25.02.2014, 10:49  [ТС]     Получить код HTML страницы #8
dan41k, Ага понял, очистить память нужно.
В дальнейшем мне надо отпарсить код страницы, но дело вот в чем, предполагаю получать html с нескольких страниц (т.е. запускать htm.execute в цикле, с разными параметрами). Так вот где лучше парсить, в RequestTask или в методе Clickme? Или сразу в sb.append(inputLine)?
NiRamz
210 / 210 / 16
Регистрация: 26.12.2010
Сообщений: 691
25.02.2014, 10:51     Получить код HTML страницы #9
в RequestTask переопределите метод onPostExecute и там парсите.
Rube
910 / 558 / 87
Регистрация: 13.02.2014
Сообщений: 2,066
25.02.2014, 19:00  [ТС]     Получить код HTML страницы #10
dan41k, uc.close(); The method close() is undefined for the type URLConnection.
Что не так?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.02.2014, 23:23     Получить код HTML страницы
Еще ссылки по теме:

Парсинг html страницы андроид Android
Получение html кода страницы Android
Получить HTML код страницы Android
Переписать код для работы с html, C# => Java Android
Android Доступ из HTML кода страницы, загруженной в WebView, к данным приложения

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

Или воспользуйтесь поиском по форуму:
dan41k
]:->
 Аватар для dan41k
97 / 91 / 13
Регистрация: 12.11.2013
Сообщений: 398
25.02.2014, 23:23     Получить код HTML страницы #11
Цитата Сообщение от Rube Посмотреть сообщение
dan41k, uc.close(); The method close() is undefined for the type URLConnection.
Что не так?
есть подозрение, что я ошибся)) В UrlConnection нет такого метода. Тогда закрывайте только поток BufferedReader.
Yandex
Объявления
25.02.2014, 23:23     Получить код HTML страницы
Ответ Создать тему
Опции темы

Текущее время: 23:36. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru