![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| sbd |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 14.12.2008 Репутация: нет Всего: нет |
Задача определить имя пользавателя на страничке форума
программа считывает строку за строкой методом readLine(), находит соответсвующую строку и вырезает нужное substring'ом Ответ с сервера шлется в кодировке KOI8-R, как и указано в запросе
проблема в том что readLine() почему-то не читает строку доконца, понятия не имею в чем может крыться проблема |
|||
|
||||
| LSD |
|
||||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 19 Всего: 538 |
У тебя явно проблемы в коде поиска нужного элемента, а не в readLine(). Например с таким HTML, твой код не сработает:
с таким тоже
Лучше напиши регулярное выражение и используй его (для всего текста сразу, а не построчно). Добавлено через 1 минуту и 19 секунд Или вообще используй готовый парсер HTML. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
||||
|
|||||
| sbd |
|
||||||
![]() Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 14.12.2008 Репутация: нет Всего: нет |
строка там такая: <a class="bigusername" href="member.php?amp;u=102001">USER</a> и все это в одну строку рег выражения тоже накладно для производительности будет вообще эта проблема то появляется то исчезает, то есть то он читает все, то выдает что-то типа <a class="bigusername" href="member.php?amp;u=102001">USE или <a class="bigusername" href="member.php?amp;u=102001">USER</ в чем же может быть проблема? |
||||||
|
|||||||
| LSD |
|
||||||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 19 Всего: 538 |
Ну уж точно не в readLine() Пиши в лог текстовую строку для которой он ищет имя пользователя и тогда уже можно будет что-то определённое сказать. Но как минимум проблема в:
1. s.indexOf(">") возвращает индекс первого встречного элемента, т.е. для
получишь фигню. 2. Аналогично s.indexOf("</a"), для
вернет фигню. Я уж не говорю, что если они поставят перенос строки, весь твой код рухнет. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
||||||
|
|||||||
| sbd |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 14.12.2008 Репутация: нет Всего: нет |
||||
|
||||
| sbd |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 14.12.2008 Репутация: нет Всего: нет |
в лог писал строку s+"\n" и ошибки строки
зы: в том то и дело что с тегами все впорядке. я не такой уж нуб Может быть, проблема в кодировке, попробую что-нибудь изменить ззыЖ прога задумывалась как обычная безделушка, а тут такие траблы, ни че непонимаю |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 19 Всего: 538 |
Как я вижу, ошибки там как раз в тех случаях про которые я говорил:
у тебя в строке нет закрывающего тега </a>. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| sbd |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 14.12.2008 Репутация: нет Всего: нет |
Я о том и говорю Эти строки, считаные моей программой. На самом деле, там все в порядке, я открывал те же страницы браузером, все теги на месте |
||||
|
|||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 19 Всего: 538 |
Ты видел код сервера, чтобы быть уверенным в том, что он гарантированно возвращает один и тот же HTML по одним и тем же запросам? Возьми TeeInputStream и параллельно пиши полученный HTML в файл. А потом уже можно будет что-то с уверенностью сказать. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Работа с сетью | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |