![]() |
HTML- über WinINet downloaden: Unicode?
Ich habe diesen Artikel in der Code-Bibliothek gefunden und die kurze, griffige Lösung gefällt mir gut.
![]()
Code:
Unter Delphi 2010 / Win 7-64 produziert der aufruf aber nur Kauderwelsch -- wahrscheinlich weil der alte Code noch nicht mit Unicode kompatibel ist.
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; 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. |
AW: HTML- über WinINet downloaden: Unicode?
Du kannst die Indy-Komponente TIdHTTp verwenden. Sollte bei Delphi vorinstalliert sein.
Delphi-Quellcode:
var
html: String; http: TIdHTTP; begin http := TIdHTTP.Create(nil); try html := http.Get('http://www.domain.com/datei.html'); finally FreeAndNil(http); end; end; |
AW: HTML- über WinINet downloaden: Unicode?
Liste der Anhänge anzeigen (Anzahl: 1)
Über das Interface XMLHTTPRequest kann man mit relativ wenig Aufwand Daten per HTTP(S) versenden.
|
AW: HTML- über WinINet downloaden: Unicode?
Die Webseite wird den Seiteninhalt bestimmt als ANSI oder UTF-8 ausliefern, also bringt es nicht viel, wenn du diesen Puffer als Unicode interpretierst. :zwinker:
Indy prüft übrigens das Format und konvertiert den Text entsprechend. |
AW: HTML- über WinINet downloaden: Unicode?
Nur mal so als kleine Anmerkung: Der Name der Funktion ist wirklich Quatsch. Die kann auch sonstwas runterladen, das hat mit HTML nichts zutun.
Liebe Grüße, Valentin |
AW: HTML- über WinINet downloaden: Unicode?
Danke, ich habe es jetzt mit TidHTTP gelöst!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:18 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz