Конференция "Сети" » IdHTTP и TMemoryStream и String
 
  • syserg (01.04.10 16:16) [0]
    Ситуация такая, гружу страницу в поток через 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() - все нормально.
  • Slym © (02.04.10 08:08) [1]
    HTTP:=TIdHTTP.Create;
    try
     HTTP.Compressor:=TIdCompressorZLib.Create(HTTP);
     Cache:=Http.Get(url);
    finally
     HTTP.Free;
    end;

 
Конференция "Сети" » IdHTTP и TMemoryStream и String
Есть новые Нет новых   [134437   +29][b:0][p:0.001]