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


Автор: mavr1977 8.5.2011, 21:32
Доброго времени суток!
Допустим на сервере есть файл configure.php, при обращению к которому из программы в ответ получаем текстовый документ. Если в передаваемом на сервер заголовке включить "AcceptEncoding: gzip, deflate", то получаем существенно меньший объём передаваемых данных. Но появляется вопрос, как разжать переданный сервером ответ для дальнейшего анализа и обработки? 
Для подачи запроса использую ALWinHttpClient 
Код

....
AHTTPResponseHeader := TALHTTPResponseHeader.Create; 
AHTTPResponseStream := TstringStream.Create(''); 
try 
    try 
     ALWinHttpClient1.Get('адрес сервера/configure.php', AHTTPResponseStream, AHTTPResponseHeader); 
     Memo1.Lines.Text:=AHTTPResponseStream.DataString; {Здесь получил в ответ необходимый контент}
    except 
      ...
   end; 
finally 
AHTTPResponseHeader.Free; 
AHTTPResponseStream.Free; 
end; 


Автор: Mifody 28.6.2011, 12:54
http://www.smw75.ru/delphi-synapse-poluchaem-dannye-v-gzip/
Рассматривается правда синапс и распаковка данных не Stream, но в указанной библиотеке есть и распаковка для Stream ;)

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