Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Сети > Проблема с IdHttp


Автор: Alkash 29.5.2012, 10:16
Здравствуйте, уважаемые форумчане. Возникла проблема с 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.

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

code.Text:= http.Get();

?

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


Автор: XperT 29.5.2012, 14:11
Delphi 2010, ваш код - всё нормально

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

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

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

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

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

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