AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Mehrsprachige HTML downloaden
Thema durchsuchen
Ansicht
Themen-Optionen

Mehrsprachige HTML downloaden

Ein Thema von acyd · begonnen am 6. Jan 2010 · letzter Beitrag vom 6. Jan 2010
Antwort Antwort
acyd

Registriert seit: 6. Jan 2010
2 Beiträge
 
#1

Mehrsprachige HTML downloaden

  Alt 6. Jan 2010, 21:18
Hallo !

Ich versuche eine Internetseite (http://www.themoviedb.org/movie/1858)
runterzuladen, die mehrsprachig ist.
Die Spracherkennung geschieht anscheinend über den Browser.

Browser -> Sprache -> DE = Internetseite in deutsch
Browser -> Sprache -> EN = Internetseite in englisch

Ich will nun die Seite mit der GetHTML funktion runterladen, was auch geschieht, nur nicht in der richtigen Sprache. Ich erhalte immer die englische html.

Nun gibt es in Delphi die Indy Komponente IDHTTP.
Mit dieser kann man in der Request-Option die gewünschte sprache eintragen und somit erhält man die richtige html.

Kann man nun durch modifizieren der unten gezeigten funktion das selbe ergebnis erzielen ?
Ich würde gerne auf die Indy Komponenten verzichten.

Danke ! Bin für jede Hilfe dankbar.

Delphi-Quellcode:
function GetHTML(AUrl: string): string;
var
  databuffer : array[0..4095] of char;
  ResStr : string;
  hSession, hfile: hInternet;
  dwindex,dwcodelen,dwread,dwNumber: cardinal;
  dwcode : array[1..20] of char;
  res : pchar;
  Str : pchar;
begin
   //ResStr:='';
   //Result:='';
   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 try
      hfile:=InternetOpenUrl(
         hsession,
         pchar(AUrl),
         nil,
         0,
         INTERNET_FLAG_RELOAD,
         0);
      if assigned(hfile) then try
         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)) and (dwRead <>0) do begin
                  databuffer[dwread]:=#0;
                  Str := pchar(@databuffer);
                  resStr := resStr + Str;
                  Application.ProcessMessages;
            end;
         end else
             ResStr := 'Status:'+res;
      finally
             InternetCloseHandle(hfile);
      end;
   finally
          InternetCloseHandle(hsession);
   end;
   Result := ResStr;
end;
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#2

Re: Mehrsprachige HTML downloaden

  Alt 6. Jan 2010, 21:26
Du müsstest einen Accept-Language-Header hinzufügen.

Da ich deine Funktion nicht ganz überblicke: Bei der InternetOpenUrl Funktion ist der 3. Parameter headers - sollte das gewünschte sein, ob das reicht k.A.
  Mit Zitat antworten Zitat
acyd

Registriert seit: 6. Jan 2010
2 Beiträge
 
#3

Re: Mehrsprachige HTML downloaden

  Alt 6. Jan 2010, 21:50
Zitat von jfheins:
Du müsstest einen Accept-Language-Header hinzufügen.

Da ich deine Funktion nicht ganz überblicke: Bei der InternetOpenUrl Funktion ist der 3. Parameter headers - sollte das gewünschte sein, ob das reicht k.A.
Das war die Lösung. Danke !
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:01 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz