function FetchPage: string;
const
URL = 'http://example.com/';
TmpFile = 'downloaded.tmp';
var
Decompressor: TGZFileStream;
strStream: TStringStream;
begin
with TFPHTTPClient.Create(nil) do
begin
AddHeader('User-Agent', 'Mozilla/5.0 (compatible; fpweb)');
AddHeader('Accept-Encoding', 'gzip');
strStream := TStringStream.Create;
Get(URL, strStream);
if ResponseHeaders.Values['Content-Encoding'].Trim = 'gzip' then
begin
strStream.SaveToFile(TmpFile);
strStream.Clear;
Decompressor := TGZFileStream.create(TmpFile, gzopenread);
strStream.CopyFrom(Decompressor, 0);
Decompressor.Free;
end;
Result := strStream.DataString;
strStream.Free;
Free;
end;
// ShowMessage(Result);
end;