Ich habe diesen Artikel in der Code-Bibliothek gefunden und die kurze, griffige Lösung gefällt mir gut.
http://www.delphipraxis.net/5520-htm...ownloaden.html
Code:
function GetHTML(AUrl: string): string;
var
databuffer : array[0..4095] of char;
ResStr : string;
hSession, hfile : hInternet;
dwcode : array[1..20] of char;
res : pchar;
Str : pchar;
dwindex, dwcodelen, dwread, dwNumber: cardinal;
begin
ResStr:='';
if Pos('http://', Lowercase(AUrl)) = 0 then AUrl := 'http://' + AUrl;
hSession := InternetOpen('InetURL:/1.0', INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);
if assigned(hsession) then begin
hfile:=InternetOpenUrl(hsession, pchar(AUrl), nil, 0, INTERNET_FLAG_RELOAD, 0);
dwIndex := 0;
dwCodeLen := 10;
HttpQueryInfo(hfile, HTTP_QUERY_STATUS_CODE, @dwcode, dwcodeLen, dwIndex);
res := pchar(@dwcode);
dwNumber := sizeof(databuffer)-1;
if (res ='200') or (res ='302') then begin
while (InternetReadfile(hfile, @databuffer, dwNumber, DwRead)) do begin
if dwRead =0 then break;
databuffer[dwread] := #0;
Str := pchar(@databuffer);
resStr := resStr + Str;
end;
end
else ResStr := 'Status:' + res;
if assigned(hfile) then InternetCloseHandle(hfile);
end;
InternetCloseHandle(hsession);
Result := resStr;
end;
Unter Delphi 2010 / Win 7-64 produziert der aufruf aber nur Kauderwelsch -- wahrscheinlich weil der alte Code noch nicht mit
Unicode kompatibel ist.
Wie müsste man den Code abwandeln, damit man die alte Routine mit
Unicode/Delphi 2010 verwenden kann? Würde mich über Hilfe sehr freuen!
PS
Oder gibt es mir unbekannte Routinen in Delphi, mit denen man eine
HTML-Seite noch einfacher und geradliniger downloaden kann? WebBrowser ist mir zuviel Overhead, ich brauche nur den
HTML-Code als String.