Download in Segmenten/Parts

  • Hoi Community,

    ich wollte mal fragen, ob es irgendwie möglich ist, einen Download in Teilen/Segmenten/Parts herunterzuladen. Als Beispiel: Eine Datei 2Mb wird in 4x500kB Teilen heruntergeladen und am Ende zusammengefügt.

  • Naja wenn die Dateine in einzelen Zipfilest splittest die dann nach dem Downlaod wieder zusammenfügst dann ja.

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.

  • Es geht mir aber nicht darum, die Datei vorher irgendwo zu spliten, da ich an die Dateien überhaupt nicht herankomme.

    Beispiel:

    Datei: Scite4Fun.exe
    Größe: 2MB

    Segmente: 4
    Segmentgröße: 500kB

    Nun wird der Download von der Scite4Fun.exe ausgeführt. Diese 2mb werden gesplitet in 4 mal 500kB Segmente, die dann binär als Dateien gedownloadet werden. Die 4 Segmente werden nach erfolgreichem Download wieder zusammengefügt.

  • Das ist möglich, aber aufwendig. Du musst alles manuell machen und dazu z.B. WinHTTP verwenden. Die HTTP-Header, die du brauchst sind hier gelistet: http://www.w3.org/Protocols/rfc2…14.html#sec14.5
    Der ungefähre Ablauf:
    1) Abfrage von Größe und prüfe auf Range-Support (HEADER-Aufruf)
    2) Range möglich: Aufteilung in Segmente, download
    Range nicht möglich: normaler Download

  • Okej danke schonmal!

    Mit WinHTTP kenne ich mich leider überhaupt nicht aus und bei den Beispielen dazu im Forum, steh ich auch nur am Bahnhof :rolleyes: .

    Ich hatte vielleicht an eine *.dll aus dem Windows-Sortiment oder Sonstigem gedacht, welche eine leichte Handhabung mit sich führt.

    Nunja dann werde ich mich mal mit WinHTTP auseinander setzen müssen.


  • Ich hatte vielleicht an eine *.dll aus dem Windows-Sortiment oder Sonstigem gedacht, welche eine leichte Handhabung mit sich führt.

    WinHTTP ist die einfachste Bibliothek aus dem Windows-Sortiment für HTTP. Es gibt aber auch WinInet, das ist etwas schwerer :D

  • hi

    könnstest du vllt ein beispiel dazu machen progandy
    ich checks einfach nicht...
    ich würde mich sehr freuen

    Request Header:

    Spoiler anzeigen

    GET /de/movie19/37/7357767.flv HTTP/1.1
    Host: is4.myvideo.de
    Connection: close
    User-Agent: Opera/9.20 (Windows NT 6.0; U; en)
    Accept-Charset: ISO-8859-1,UTF-8;q=0.7,*;q=0.7
    Cache-Control: no
    Accept-Language: de,en;q=0.7,en-us;q=0.3

    Response Header:

    Spoiler anzeigen

    Status: HTTP/1.1 200 OK
    Cache-Control:max-age=3600
    Date:Sun, 21 Mar 2010 19:20:57 GMT
    Content-Length:31128010
    Content-Type:video/x-flv
    ETag:"27de01d1-1daf9ca-480a99d7ebdc0"
    Expires:Sun, 21 Mar 2010 20:20:57 GMT
    Last-Modified:Sun, 28 Feb 2010 14:04:47 GMT
    Accept-Ranges:bytes
    Server:Level-3 Origin Storage/1.0
    Connection:close