使用 ICS控件,我现在对这套控件简直都要爱不释手了
Code:
var
_DecompresData :string;
czlib : THttpCCodzlib;
procedure TMyClass.OnDecompresData(Buffer: Pointer; Count: Integer);
var
iLen: integer;
begin
iLen := length(_DecompresData);
SetLength(_DecompresData, iLen + Count);
CopyMemory(@_DecompresData[iLen + 1], Buffer, Count);
end;
使用:
if ContentEncoding = 'gzip' then
begin
_DecompresData := '';
czlib := THttpCCodzlib.Create(OnDecompresData);
Result := FHttpData.DataString;
czlib.WriteBuffer(@Result[1], Length(Result));
czlib.Complete;
Result := _DecompresData;
czlib.Free;
end;