Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > Размер веб-странички


Автор: Llucas 17.9.2007, 16:36
Появился вопросик... Мне необходимо проверять закачана ли веб-страничка из интернета или нет. Подскажите пожалуйста можно ли это сделать? smile 

Автор: _Michael 17.9.2007, 17:28
Ну например, узнать являются ли последние байты завершающим тегом </html> ето конечно если страница согласно стандартов сделана. smile

Автор: Llucas 17.9.2007, 17:36
Спасибо, но такой вариант мне не подходит... я вот думаю, можно ли сделать так, чтобы допустим каждую секунду чекать количество байтов полученных с этого url? Оно по идее должно меняться... а когда сайт закачан - перестанет меняться. Это и будет означать завершение считывания сайта? smile 

Автор: AlexeyVorotnikov 17.9.2007, 17:40
Цитата(Llucas @  17.9.2007,  18:36 Найти цитируемый пост)
Это и будет означать завершение считывания сайта?

Это может означать зависание.

Автор: _Michael 17.9.2007, 18:02
Цитата(AlexeyVorotnikov @  17.9.2007,  17:40 Найти цитируемый пост)
Цитата(Llucas @  17.9.2007,  18:36 Найти цитируемый пост)
Это и будет означать завершение считывания сайта?

Это может означать зависание.

 smile в действительности функция чтения должна тебе возвращать количество прочитанных байт. Но она является блокирующей. т-е если твой сервер с которого ты скачиваеш не разорвал соединение, то ета функция будет ждать очередной порции данных. Поетому можно например по таймауту как-нибудь, если сервер в течении какого то промежутка времемни ничего не присылает он либо уже все прислал т-е всю страницу, либо ждет твоей реакции. smile я так думаю

Автор: Llucas 17.9.2007, 18:15
 smile Если можно примерчик...

Автор: COVD 17.9.2007, 20:12
Цитата(Llucas @ 17.9.2007,  18:15)
smile Если можно примерчик...

http://java.sun.com/docs/books/tutorial/networking/urls/readingURL.html

Когда сервер отослал все, он закрывает соединение и in.readLine() вернет null . Для мониторинга пересылки документов (слишком большие документы, медленный интернет, перегружен сервер и т.д.) нужен внешний поток, который при достижении таймаута закроет соединение даже если документ не прочитан до конца.
Тогда метод вернет полный документ или будет выброшено исключение не позднее, чем определено таймаутом.

Автор: Llucas 17.9.2007, 21:02
Блин... спасибо...так просто! smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)