Ich versuche verzweifelt eine Datei via synapse runter zu laden. Dazu habe ich die unten stehende Routine geschrieben.
Mein Problem ist nun, dass die erste URL nur eine Weiterleitung nach
https://s3.amazonaws.com/gs-geo-images/ ... 4f24_l.jpg
ist. Rufe ich die Routine mit der Weiterleitung auf, dann wird das Bild problemlos geladen. Nur leider gelingt es mir nicht den weiterleitungslink aus dem Ursprünglichen zu extrahieren. Hat einer von euch ne Idee wie ich das bewerkstelligen kann ?
Code: Alles auswählen
 
Function DownLoadFile(URL, Filename: String): Boolean;
Var
  f: TFileStream;
  m: TMemoryStream;
  sl: TStringList;
Begin
  result := false;
  With THTTPSend.Create Do Begin
// Versuch die Weiterleitung raus zu bekommen
    sl := TStringList.Create;
    If HttpGetText(url, sl) Then Begin
      showmessage(sl.text); // sl.text ist immer ''
    End;
// Wenn ich die URL von Hand setze, dann wird das bild sauber geladen
    url := 'https://s3.amazonaws.com/gs-geo-images/0b027a04-10ad-45b0-85c7-7957d8e94f24_l.jpg';
    m := TMemoryStream.Create;
    If HttpGetBinary(url, m) Then Begin
      Try
        If m.Size <> 0 Then Begin
          m.Position := 0;
          f := TFileStream.Create(Filename, fmOpenWrite Or fmCreate);
          f.CopyFrom(m, m.Size);
          f.Free;
          result := true;
        End;
      Except
      End;
    End;
    m.free;
    Free;
  End;
End;       
 
Aufruf mit :
 
 DownLoadFile('http://img.geocaching.com/cache/large/0b027a04-10ad-45b0-85c7-7957d8e94f24.jpg', 'test.jpg');
 
 


 Verein
Verein 
 Links
Links Suche
Suche