Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
Дмитирй
4 / 4 / 2
Регистрация: 25.11.2011
Сообщений: 39
1

Не получается прочитать html код страницы

06.02.2015, 16:17. Просмотров 670. Ответов 7
Метки нет (Все метки)

Не понимаю почему не работает данный код. Перепробовал уже множество вариантов, не читает html код страницы. Объясните пожалуйста, как заставить его работать. Или есть какой-то другой способ это сделать?
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public String getHtmlCode(String pageAddress) {
        try {
            URL url = new URL("http://www.cyberforum.ru/");
            URLConnection conn = url.openConnection();
            InputStreamReader rd = new InputStreamReader(conn.getInputStream());
            StringBuilder allpage = new StringBuilder();
            int n = 0;
            char[] buffer = new char[40000];
            while (n >= 0) {
                n = rd.read(buffer, 0, buffer.length);
                if (n > 0) {
                    allpage.append(buffer, 0, n);
                }
            }
            rd.close();
            return allpage.toString();
        }
        catch(Exception e) {
            return "0";
        }
    }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.02.2015, 16:17
Ответы с готовыми решениями:

Получить HTML код страницы
Здравствуйте, подскажите. Реально ли стать промежуточным звеном в отображении...

Получить код HTML страницы
Уважаемые гуру, подскажите чем быстрей и проще получить код HTML страницы....

Нужно прочитать html файл
Мне необходимо скачать html - файл и прочитать.Не можете скинуть уроки,а лучши...

Необходимо прочитать штрих-код
Можете подсказать какой - нибудь пример с чтением PDF417 штрих - кода. Заранее...

Парсинг HTML страницы
Здравствуйте. Передо мной стоит задача выдрать данные из страницы, (время...

7
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,074
06.02.2015, 16:29 2
Лучший ответ Сообщение было отмечено Дмитирй как решение

Решение

Попробуйте так:
Java
1
2
3
4
5
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpGet get = new HttpGet(url);
HttpResponse httpResponse = httpClient.execute(get);
HttpEntity httpEntity = httpResponse.getEntity();
responseStr = EntityUtils.toString(httpEntity);
1
Дмитирй
4 / 4 / 2
Регистрация: 25.11.2011
Сообщений: 39
06.02.2015, 16:40  [ТС] 3
Выкидывает 2 исключения в 3 и 5 строках
error: unreported exception IOException; must be caught or declared to be thrown
0
Gabberr
103 / 103 / 19
Регистрация: 13.10.2009
Сообщений: 404
06.02.2015, 16:54 4
Лучший ответ Сообщение было отмечено Дмитирй как решение

Решение

Оберни в try-catch
Java
1
2
3
4
5
6
 try {
       //source
}
catch(Exception e) {
      e.printStackTrace();
}
1
Дмитирй
4 / 4 / 2
Регистрация: 25.11.2011
Сообщений: 39
06.02.2015, 17:13  [ТС] 5
Да я пробовал, в этом случае он заходит в блок catch и все, а страницу не читает.
В манифесте разрешение на работу с сетью прописал

Добавлено через 6 минут
Прочитал в книге что нужно AsyncTask использовать. Копать в его сторону?
0
Gabberr
103 / 103 / 19
Регистрация: 13.10.2009
Сообщений: 404
06.02.2015, 17:36 6
Лучший ответ Сообщение было отмечено Дмитирй как решение

Решение

Запросы к сети естественно нужно выполнять не в ui потоке
Не обязательно asynctask, можно и просто новый тред создать
Java
1
2
3
4
5
6
   new Thread(new Runnable() {
            @Override
            public void run() {
                 //source
            }
        }).start();
1
Дмитирй
4 / 4 / 2
Регистрация: 25.11.2011
Сообщений: 39
06.02.2015, 18:08  [ТС] 7
Gabberr,
Спасибо, теперь в общем то понял.
А не подскажете как должно все это в итоге все выглядеть? Новый поток внутри функции создавать нужно? И как из потока переменную возвратить обратно в функцию, а так же например из функции в поток?
0
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,074
06.02.2015, 18:21 8
Новый поток это и есть асинктаск он же функция. Возврат из асинктаска тоже возможен, но это уже отдельная тема, я тоже спрашивал про это. Сначала давайте страницу получим, тут тоже много вариантов получения, например jsoup.
1
06.02.2015, 18:21
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.02.2015, 18:21

Парсинг html страницы андроид
Здравствуйте. Я новичок в программировании, так что не прошу судить строго....

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

Отобразить оффлайн страницы html
Здравствуйте! Есть html страницы надо их отобразить в Android Studio. Не...


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

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

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