Einzelnen Beitrag anzeigen

Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#2

AW: idHTTP - GET mit Header und Kompression

  Alt 27. Jul 2010, 05:35
Guten Morgen Chris, herzlich Willommen in der Delphi-PRAXiS!

Bei deiner Funktion prüfst du lediglich, ob <resp stat="ok" im XML-Code enthalten ist und gibst dessen Position zurück.
Du möchtest jedoch den XML-Code erhalten. Das könnte z.B. so aussehen (letzte Zeile):
Delphi-Quellcode:
function DC_SearchArtist(Name: String): string;
var Response: TStringStream;
    ResponseT: String;
begin
  Response := TStringStream.Create('');
  try
    with DC_HTTP.Request do
    begin
      Method := 'GET';
      URL := MakeURL('artists', Name);
      Host := 'www.discogs.com';
      AcceptEncoding := 'gzip';
    end;
    DC_HTTP.Get(MakeURL('artists', Name), Response);
    ResponseT := Response.DataString;
  except
   on E: Exception do
   begin
     ResponseT := '';
   end;
  end;
  Response.Free;

  // XML-Code zurückgeben
  Result := ResponseT;
end;
Ein möglicher Aufruf:
Delphi-Quellcode:
// Evtl. mit der Kodierung wie z.B. UTF8 aufpassen. Je nach Delphi-Version muss hier noch
// Utf8Decode() oder Utf8ToString() o.ä. aufgerufen werden
Memo1.Text := DC_SearchArtist('Beatles');
PS: Zu den Stichwirten im Forum:
Wie haben vor Kurzem die Foren-Software gewechselt und da funktioniert noch nicht alles so, wie es soll, u.a. die Stichworte (wir kennen solche Fehlerchen als Programmierer nur zu gut ). Aber das wird sich in absehbarer Zeit ändern.

Grüße, Matze

Nachtrag: Noch einen kleinen Fehler entfernt.
Nachtrag 2: Ich sehe gerade, dass du nur die Zeilenumbrüche anpassen musst. Die Kodierung sollte bereits passen.

Geändert von Matze (27. Jul 2010 um 05:43 Uhr)
  Mit Zitat antworten Zitat