Sprawdziłem i jest faktycznie tak jak mówiłem. Free Download Manager wysyła zapytanie do serwera:
Cytat
GET /pliki/test.txt HTTP/1.1
Accept: */*
Range: bytes=8451356-
User-Agent: FDM 3.x
Connection: Keep-Alive
Cache-Control: no-cache
Czyli wysyła informację od której miejsca chce zacząć, a nie podaje w którym miejscu chce kończyć. Ja natomiast odsyłam do programu coś takiego:
Cytat
HTTP/1.1 206 Partial Content
Date: Wed, 02 Nov 2011 09:45:06 GMT
Server: Apache
Content-Range: bytes 8451356-9014779/9014780
Content-Length: 563424
Accept-Ranges: bytes
Content-Disposition: attachment; filename=test.txt
Vary: Accept-Encoding,User-Agent
Keep-Alive: timeout=2, max=100
Connection: Keep-Alive
Content-Type: application/force-download
Muszę podać bajty na których skończy się pobieranie inaczej program wyświetli komunikat, że serwer nie wznawia pobierania. Za pomocą
CURLOPT_WRITEFUNCTION zapisywałem pobierane dane z każdego połączenia do osobnego pliku na serwerze. Po sprawdzeniu - faktycznie mają taką wielkość jaka jest zliczana podczas pobierania. Natomiast po otwarciu, sprawdziłem i pobrane dane powielają się. Jak rozwiązać ten problem?