http://bbs.csdn.net/topics/190020986
delphi 利用indy解码Gzip的网页2007-09-08 18:36function WebRequest.Get(strURL, strReferer: String): String;
var
strHTML: String;
inStream, outStream: TMemoryStream;
m : TStrings;
begin
inStream := TMemoryStream.Create;
m := TStrings.Create;
if sck.Connected = true then
begin
sck.Disconnect;
while sck.Connected = true do
Application.ProcessMessages;
end;
SetHeader(strReferer);
sck.Get(strURL, inStream);
if sck.Response.ContentEncoding = 'gzip' then
begin
outStream := TMemoryStream.Create;
sck.Compressor.DecompressGZipStream(inStream, outStream);
outStream.Position := 0;
m.LoadFromStream(outStream);
strHTML := m.Text;
end
else
begin
m.LoadFromStream(inStream);
strHTML := m.Text;
end;
prevPage := strURL;
strBuff := strHTML;
Result := strHTML;
end;