Entwickler-Ecke
Internet / Netzwerk - Dateidownload per Tidhttp
Robinator - Di 07.02.06 23:32
Titel: Dateidownload per Tidhttp
Guten tag,
ich versuche nun schon seit einer ganzen weile mit meinem Programm .pls dateien von der
http://www.shoutcast.com page herunterzuladen. Leider gelingt das mit den von mir probierten ansätzen nicht.
hier mein code:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| Procedure Tform4.DownloadFile ( URL : String; Path : String ); var Datei : TfileStream; begin
Datei:=TFileStream.create(Path ,fmCreate); try IdHttp1.Get(URL,Datei); finally Datei.free; end; end; |
Wenn ich das nun folgendermassen aufrufe:
Delphi-Quelltext
1:
| DownloadFile('http://yp.shoutcast.com/sbin/shoutcast-playlist.pls?rn=2297&file=filename.pls',ExtractFilePath(Application.ExeName) + 'tmp.pls'); |
bekomme ich nur eine HTTP 403 fehlermeldung.
Ich habe auch schon mit .post und .doRequest herumprobiert - leider mit dem gleichen Ergebniss.
Wenn jemand einen Tip für mich hat wäre ich sehr dankbar ;)
grüsse RoB
alias5000 - Di 07.02.06 23:42
Titel: Re: Dateidownload per Tidhttp
Robinator hat folgendes geschrieben: |
Guten tag,
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| Procedure Tform4.DownloadFile ( URL : String; Path : String ); var Datei : TfileStream; begin
Datei:=TFileStream.create(Path ,fmCreate); try IdHttp1.Get(URL,Datei); finally Datei.free; end; end; |
|
Du darfst den Stream nicht gleich freigeben, weil die Datei ja Schritt für Schritt in einem anderen Thread heruntergeladen wird. Wenn die Operation beendet ist, bekommst du das Ereignis OnWorkEnd. Und frühestens dort darfst du den Stream freigeben
Robinator - Di 07.02.06 23:54
Die Funktion funktioniert bei anderen dateien ansich reibungslos, von daher würde ich vermuten, dass der Hund eher woanders begraben liegt. Ausserdem dürfte doch ein zu frühes Freigeben des Streams zu einem StreamError führen und nicht zu einer HTTP 403 fehlermeldung.
grüsse
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!