-
Ситуация такая, гружу страницу в поток через IdHTTP
IdHTTP.Request.AcceptEncoding:='gzip, deflate'; inStream:=TMemoryStream.Create; try IdHttp.Get(url,inStream); outStream:=TMemoryStream.Create; try gZipDecompress(inStream,outStream); outStream.Position:=0; finally outStream.Free; end; finally inStream.Free; end;
А вот как мне вытянуть из OutStream в String для дальнейшей обработки ума не приложу. Doc:=coHTMLDocument.Create as IHTMLDocument2; //создали экземпляр документа V:=VarArrayCreate([0,0], varVariant); V[0]:=Cache; Doc.Write(PSafeArray(TVarData(v).VArray));
Кто знает, подскажите. Я пробовал через SetString(Cache, PChar(OutStream.Memory), еще через одну функцию, но результат на выходе одинаковый - квадратики вместо текста. Чего я не правильно делаю? Причем в memo1.lines.loadfromstream() - все нормально.
-
HTTP:=TIdHTTP.Create;
try
HTTP.Compressor:=TIdCompressorZLib.Create(HTTP);
Cache:=Http.Get(url);
finally
HTTP.Free;
end;
|