Модераторы: Snowy, Poseidon, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с IdHttp, Недокачивает страницу 
V
    Опции темы
Alkash
Дата 29.5.2012, 10:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


коллекционер жизни
**


Профиль
Группа: Участник
Сообщений: 516
Регистрация: 5.7.2004
Где: /

Репутация: нет
Всего: нет



Здравствуйте, уважаемые форумчане. Возникла проблема с idhttp, при передаче результата get запроса в TStringList - туда попадает только 165 строк кода страницы. Получаю страницу следующим образом:
Код

procedure TForm1.DownloadCode();
var
 http: tidhttp;
 st: TStringList;
 dump: TStream;
begin
 dump := TMemoryStream.Create;
 st:= TStringList.Create;
 http:=TIdHttp.Create();
 http.HandleRedirects:=true;
 try
  http.Get('http://world7.runescape.com',dump);
  dump.Seek(0, soFromBeginning);
  st.LoadFromStream(dump);
  dump.Free;
 except
  showmessage('Get page code failed');
 end;
 code.Text:=st.Text;
 st.Free;
end;

В чем может быть проблема? Учитывая, что если вместо TStringList использовать Memo - то код страницы туда попадает полностью, на первый взгляд. 
Версия indy 10.5.7, версия delphi - XE.

Это сообщение отредактировал(а) Alkash - 29.5.2012, 10:21


--------------------
Подпись >> /dev/null
PM MAIL ICQ MSN   Вверх
MetalFan
Дата 29.5.2012, 12:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 14
Всего: 128



Alkash, А какую цель преследует загрузка через промежуточный stream? почему бы просто не написать:
Код

code.Text:= http.Get();

?


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
Alkash
Дата 29.5.2012, 12:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


коллекционер жизни
**


Профиль
Группа: Участник
Сообщений: 516
Регистрация: 5.7.2004
Где: /

Репутация: нет
Всего: нет



Так я пробовал и без промежуточного stream, и code.text:=http.get(); и через code.append(http.get()) - результат одинаков. На форум предоставил просто последний используемый вариант. 



Это сообщение отредактировал(а) Alkash - 29.5.2012, 12:59


--------------------
Подпись >> /dev/null
PM MAIL ICQ MSN   Вверх
XperT
Дата 29.5.2012, 14:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 269
Регистрация: 19.8.2006

Репутация: нет
Всего: 4



Delphi 2010, ваш код - всё нормально

Добавлено через 1 минуту и 53 секунды
Я так понимаю, что вы смотрите через деббагер содержимое стринглиста и видите 165 строк, решили, что это всё что есть? smile
PM MAIL   Вверх
MetalFan
Дата 29.5.2012, 14:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 14
Всего: 128



Пара советов:
1. Для отладки содержимое TMemoryStream после получения сохранить в файл.
2. Если в п.1 страница не полностью, то попробовать увеличить таймаут на чтение.



--------------------
There are always someone smarter than you...
PM MAIL   Вверх
Alkash
Дата 29.5.2012, 15:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


коллекционер жизни
**


Профиль
Группа: Участник
Сообщений: 516
Регистрация: 5.7.2004
Где: /

Репутация: нет
Всего: нет



Цитата(XperT @ 29.5.2012,  14:11)
Delphi 2010, ваш код - всё нормально

Добавлено @ 14:13
Я так понимаю, что вы смотрите через деббагер содержимое стринглиста и видите 165 строк, решили, что это всё что есть? smile

Именно-))) Спасибо-)))


--------------------
Подпись >> /dev/null
PM MAIL ICQ MSN   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Сети"
Snowy
Poseidon
MetalFan

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.0452 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.