У меня есть список адресов веб-страниц. Самые обычные страницы (html, php) - все они нормально и быстро открываются в браузере, не содержат редиректа.
Нужно прочитать все страницы из этого списка с помощью Indy (Delphi 7). Функцию я под это дело написал, но она по какой-то причине прочитывает далеко не все URL, а только лишь процентов 20. Подскажите, пожалуйста, в чём тут дело? Заранее спасибо!
Вот функция:
Код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | function ReadSite(URL: String ): String ;
var rcvrdata: TMemoryStream;
begin
idHttp1 := TIdHTTP . Create( nil );
rcvrdata := TMemoryStream . Create;
idHttp1 . ReadTimeout:= 15000 ;
idHttp1 . Request . UserAgent := 'Mozilla/4.0 (compatible; MSIE 5.5; Windows 98)' ;
idHttp1 . HandleRedirects := false ;
try
IdHTTP1 . get(URL, rcvrdata);
except
on EIdReadTimeout do rcvrdata:= nil ;
else
rcvrdata:= nil ;
end ;
idHttp1 . Free;
if ((rcvrdata<> nil ) and (rcvrdata . Size > 0 )) then
begin
rcvrdata . Position:= 0 ;
MainForm . TempEdit . Lines . LoadFromStream(rcvrdata);
Result:=MainForm . TempEdit . Lines . Text;
Result:=UTF8ToANSI(Result);
end
else Result:= '' ;
rcvrdata . Free;
end ;
|