RA9OAJ / rexloader

Automatically exported from code.google.com/p/rexloader
GNU General Public License v3.0
6 stars 2 forks source link

Не корректно работает многопоточная закачка с сайта jfusion.org #15

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
При закачке в несколько потоков процесс 
закачки происходит не корректно.
Причина:
на запрос rexloader
GET /downloads/jfusion/jfusion-1-7-10/jfusion1-7-10_stable-zip?format=raw 
HTTP/1.1
Host: www.jfusion.org
Accept: */*
Accept-Encoding: gzip, deflate
User-Agent: REXLoader/0.1
Range: bytes=438182-439885
Referer: http://www.jfusion.org/downloads/jfusion/jfusion-1-7-10
Connection: Keep-Alive

Приходит ответ 200 ОК вместо 206
HTTP/1.1 200 OK
Date: Mon, 24 Dec 2012 06:00:02 GMT
Server: Apache/2.2.14 (Ubuntu)
X-Powered-By: PHP/5.3.2-1ubuntu4.18
Pragma: public
Expires: 0
Cache-Control: must-revalidate, post-check=0, pre-check=0
Cache-Control: public
Content-Description: File Transfer
Accept-Ranges: bytes
Content-Disposition: attachment; filename=jfusion1.7.10_stable.zip
Content-Transfer-Encoding: binary
Content-Length: 1319658
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive
Content-Type: application/zip

Как итог закачка начинается с самого 
начала, при этом запись в локальный файл 
происходит со смещением.

Решение:
усложнить проверку на частичное получение 
файла с сервера и если после 2-го запроса в 
сторону сервера приходит все тот же ответ 
200 OK, считать, что закачка невозможна.

Original issue reported on code.google.com by ra9oaj on 24 Dec 2012 at 6:13

GoogleCodeExporter commented 9 years ago
Поправка в решении:
усложнить проверку на частичное получение 
файла с сервера и если после 2-го запроса в 
сторону сервера приходит все тот же ответ 
200 OK, считать, что ДОКАЧКА невозможна 
(выставить признак докачки задания в false).

Original comment by ra9oaj on 24 Dec 2012 at 6:15

GoogleCodeExporter commented 9 years ago
Начал доработку.

Original comment by ra9oaj on 26 Dec 2012 at 4:25

GoogleCodeExporter commented 9 years ago
Исправление вошло в rev269

Original comment by ra9oaj on 26 Dec 2012 at 4:33