Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Indy Http/FTP - Download Range begrenzen (https://www.delphipraxis.net/47993-indy-http-ftp-download-range-begrenzen.html)

snapman 19. Jun 2005 01:18


Indy Http/FTP - Download Range begrenzen
 
Hallo,
gibt es bei Indy die Möglichkeit eine Datei nur bis zu einem gewissen Punkt heruntladen zu lassen bzw an einem Bestimmten Punkt zu beginnen?

Mit indy.Request.ContentRangeStart oder End funktioniert es nicht :(

marabu 19. Jun 2005 08:55

Re: Indy Http - Download Range begrenzen
 
Hallo snapman,

ContentRangeStart und ContentRangeEnd funktionieren. Der folgende Code zeigt dir die ersten 50 Zeichen:

Delphi-Quellcode:
with idHTTP do begin
  Request.ContentRangeStart := 0;
  Request.ContentRangeEnd := 50;
  ShowMessage(Get('http://www.google.de'));
end;
Wie hast du es versucht?

Grüße vom marabu

snapman 19. Jun 2005 15:13

Re: Indy Http - Download Range begrenzen
 
Delphi-Quellcode:

httpcli.request.ContentRangeStart:=0;
httpcli.request.ContentRangeEnd:=100;

HttpCli.Get('http://www.beispielseite.de/muster.exe',responsestream);
Dein Beispiel funktioniert übrigens auch nicht. Er lädt IMMER die ganze Googleseite.

marabu 19. Jun 2005 16:03

Re: Indy Http - Download Range begrenzen
 
Was soll ich dazu sagen? Es funktioniert natürlich auch für andere MIME types als text/html - hier ein anderes Beispiel:

Delphi-Quellcode:
var
  ms: TMemoryStream;
begin
  ms := TMemoryStream.Create;
  idHTTP.Request.ContentRangeEnd := 0;
  idHTTP.Request.ContentRangeEnd := 99;
  idHTTP.Get('http://localhost/uninstall.exe', ms);
  ShowMessage(IntToStr(ms.Size)); // schreibt 100 raus, inhalt wie erwartet
  ms.Free;
end;
Keine Ahnung was bei dir schief läuft. Vielleicht greifst du über einen Proxy zu?

Freundliche Grüße vom marabu

snapman 19. Jun 2005 16:15

Re: Indy Http - Download Range begrenzen
 
Liste der Anhänge anzeigen (Anzahl: 1)
benutze keinen proxy

habe mal das beispiel von mir angehangen (source/exe) gibt immer die volle grösse aus

marabu 19. Jun 2005 16:29

Re: Indy Http - Download Range begrenzen
 
Ich verwende Indy 9. Aus den unbekannten Properties beim Laden deines Projektes schließe ich, dass du auf Indy 10 umgestellt hast. Da werde ich dir für eine Weile nicht helfen können. Sorry.

marabu

DGL-luke 19. Jun 2005 16:42

Re: Indy Http - Download Range begrenzen
 
dazu kann ich nur sagen: downgrade auf Indy 9 machen.

z.b. IdIRC funktioniert mit Indy 10 auch nicht. irgendwas ist da kaputt, mit Indy 9 gehts aber anstandslos.

gsh 19. Jun 2005 16:52

Re: Indy Http - Download Range begrenzen
 
keine Ahnung warum es bei dir nicht funktioniert aber eine weiss ich Indy 10 hat damit NICHTS zu tun. Denn ich verwende Indy 10 auch bis jetzt ohne Problemme.

Aber ich hab heute aus deiner Inspiration heraus :mrgreen: einen Code-Libary eintrag hinzugefügt. Schau dort mal nach. :thumb:

snapman 19. Jun 2005 17:01

Re: Indy Http - Download Range begrenzen
 
Zitat:

Zitat von marabu
Ich verwende Indy 9. Aus den unbekannten Properties beim Laden deines Projektes schließe ich, dass du auf Indy 10 umgestellt hast. Da werde ich dir für eine Weile nicht helfen können. Sorry.

marabu

Hm du könntest einfach n paar properties löschen/ändern, dann gehts auch mit 9

marabu 19. Jun 2005 18:22

Re: Indy Http - Download Range begrenzen
 
Zitat:

Zitat von snapman
Hm du könntest einfach n paar properties löschen/ändern, dann gehts auch mit 9

Habe die zwei "falschen" properties ignoriert (AuthProxyRetries, ContentRangeInstanceLength). Beim Ausführen arbeitet das Programm dann wie gewünscht und holt 100 Byte vom Server. An dem Server kann es also nicht liegen, nur an deiner Indy-Komponente. Les doch mal in der OH, ob es an ContentRangeInstanceLength liegen kann.

Die erste Zeile ist überflüssig, aber das weisst du.
Delphi-Quellcode:
...
idHTTP.Request.ContentRangeEnd := 0;
idHTTP.Request.ContentRangeEnd := 99;
...
marabu


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:00 Uhr.
Seite 1 von 3  1 23      

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