var
HTTPSender: THTTPSend;
HTTPGetResult: Boolean;
doc: thtmldocument;
AStrStr:TStringStream;
htmlStr: String;
F:TextFile;
begin
AStrStr := TStringStream.Create('');
HTTPSender := THTTPSend.Create;
try
HTTPGetResult := HTTPSender.HTTPMethod('GET', 'http://blumeninschwaben.de/Einkeimblaettrige/Suessgraeser/suessgraeser.htm');
if (HTTPSender.ResultCode >= 100) and (HTTPSender.ResultCode<=299) then begin
readhtmlfile(doc,HTTPSender.Document);
//OPTION 1 getting htmlStr
//SetString(htmlStr, PAnsiChar(HTTPSender.Document.Memory), HTTPSender.Document.Size);
//OPTION 2 getting htmlStr
htmwrite.WriteHTML(doc.documentElement,AStrStr);
htmlStr := AStrStr.DataString;
//modify htmlStr
htmlStr := convertEncoding(htmlStr, guessEncoding(htmlStr), encodingUTF8);
htmlStr := StringReplace(htmlStr, 'charset=windows-1252', 'charset=UTF-8',[rfReplaceAll, rfIgnoreCase]);
//save htmlStr to file
AssignFile(F, 'test.html');
try
ReWrite(F);
Write(F, htmlStr);
finally
CloseFile(F);
end;
end;
finally
HTTPSender.Free;
end;
showmessage('done');
end;