wget + докачка. Как? (Не докачивает файл. Помогите!)

Модератор: /dev/random

ksaphan
Сообщения: 69

wget + докачка. Как?

Сообщение ksaphan »

Пытаюсь скачать фильм.
Пишу в консоли:
wget -S --wait=12 --tries=30 --user=XXXXX --password=ХХХХХ -P /multimedia/films/ http://media.adsl.by/divx/somefile.avi

Начинает качать нормально:
--20:16:00-- http://media.adsl.by/divx/somefile.avi
=> `/multimedia/films/somefile.avi'
Распознаётся media.adsl.by... 81.25.32.14
Устанавливается соединение с media.adsl.by|81.25.32.14|:80... соединение установ лено.
Запрос HTTP послан, ожидается ответ...
HTTP/1.1 200 OK
Connection: close
Content-Type: application/octet-stream
Content-Length: 733996330
Cache-control: max-age=300
Date: Sun, 29 Jan 2006 20:14:35 +0200
Accept-Ranges: bytes
Server: Media Server V2.0b
[ => ] 21.170.712 550.43K/s


Но через некоторе время (это время каждый раз разное) получаю:
20:16:55 (381.38 KB/s) - `/multimedia/films/somefile.avi' сохранён [21170712]

Т.е. видно что докачивает не до конца. И все, больше он даже не пробует его докачивать. Как докачать нормально?

Пишу потом ту же команду, только добавляю параметр '-c'.
Получаю:

--20:15:34-- http://media.adsl.by/divx/somefile.avi
=> `/multimedia/films/somefile.avi'
Распознаётся media.adsl.by... 81.25.32.14
Устанавливается соединение с media.adsl.by|81.25.32.14|:80... соединение установ
лено.
Запрос HTTP послан, ожидается ответ...
HTTP/1.1 206 Partial Content
Connection: close
Content-Type: application/octet-stream
Content-Length: 671221564
Cache-control: max-age=300
Date: Sun, 29 Jan 2006 20:14:09 +0200
Accept-Ranges: bytes
Server: Media Server V2.0b
Повтор.

--20:15:36-- http://media.adsl.by/divx/somefile.avi
(попытка: 2) => `/multimedia/films/somefile.avi'
Устанавливается соединение с media.adsl.by|81.25.32.14|:80... соединение установ
лено.
Запрос HTTP послан, ожидается ответ...
HTTP/1.1 206 Partial Content
Connection: close
Content-Type: application/octet-stream
Content-Length: 671221564
Cache-control: max-age=300
Date: Sun, 29 Jan 2006 20:14:10 +0200
Accept-Ranges: bytes
Server: Media Server V2.0b
Повтор.

--20:15:38-- http://media.adsl.by/divx/somefile.avi
(попытка: 3) => `/multimedia/films/somefile.avi'
Устанавливается соединение с media.adsl.by|81.25.32.14|:80... соединение установ
лено.
Запрос HTTP послан, ожидается ответ...
HTTP/1.1 206 Partial Content
Connection: close
Content-Type: application/octet-stream
Content-Length: 671221564
Cache-control: max-age=300
Date: Sun, 29 Jan 2006 20:14:13 +0200
Accept-Ranges: bytes
Server: Media Server V2.0b
Повтор.



Т.е. он делает попытки, но докачивать так и не начинает. При это в FlashGet в виндах все работает и докачивает нормально.

Помогите, плиз!

Если нужно, это то, что пишет флэшгет, когда нормально докачивает:
Sun Jan 22 18:20:34 2006 Соединение с media.adsl.by:80
Sun Jan 22 18:20:34 2006 Соединяемся с media.adsl.by [IP=81.25.32.14:80]
Sun Jan 22 18:20:34 2006 Соединение установлено
Sun Jan 22 18:20:34 2006 GET /divx/somefile.avi HTTP/1.1
Sun Jan 22 18:20:34 2006 Host: media.adsl.by
Sun Jan 22 18:20:34 2006 Accept: */*
Sun Jan 22 18:20:34 2006 Referer: http://media.adsl.by/divx
Sun Jan 22 18:20:34 2006 User-Agent: Mozilla/4.0 (compatible; MSIE 5.00; Windows 98)
Sun Jan 22 18:20:34 2006 Range: bytes=86239518-
Sun Jan 22 18:20:34 2006 Pragma: no-cache
Sun Jan 22 18:20:34 2006 Cache-Control: no-cache
Sun Jan 22 18:20:34 2006 Authorization: Basic MjE1MjJ2bGFkdjo5ZnhtZG5xMQ==
Sun Jan 22 18:20:34 2006 Connection: close
Sun Jan 22 18:20:34 2006 HTTP/1.1 206 Partial Content
Sun Jan 22 18:20:34 2006 Connection: close
Sun Jan 22 18:20:34 2006 Content-Type: application/octet-stream
Sun Jan 22 18:20:34 2006 Content-Length: 636190434
Sun Jan 22 18:20:34 2006 Cache-control: max-age=300
Sun Jan 22 18:20:34 2006 Date: Sun, 22 Jan 2006 18:19:30 +0200
Sun Jan 22 18:20:34 2006 Accept-Ranges: bytes
Sun Jan 22 18:20:34 2006 Server: Media Server V2.0b
Sun Jan 22 18:20:34 2006 Переход в состояние [Закачка]
Спасибо сказали:
Аватара пользователя
vg2.0
Сообщения: 832
Статус: *BSD admin ;)
ОС: *BSD =)

Re: wget + докачка. Как?

Сообщение vg2.0 »

Юзера и пароль лучше прописать в конфиг, и может быть еще что то.
http://vap.org.ru/wget/
FreeBSD 6-stable
FreeBSD 5.5-stable
Спасибо сказали:
ksaphan
Сообщения: 69

Re: wget + докачка. Как?

Сообщение ksaphan »

Я уже прочитал этот мануал. И настройки у меня wget берет из файла.
Маленькие файлы (песни) качает отлично, а вот с фильмом проблемы. Обрывается, и никак не хочет докачивать. Повторяю, в виндах FlashGet докачивает как нужно.
Ведь есть какое-то решение!!! Помогите!!!
Спасибо сказали:
Аватара пользователя
ddc
Бывший модератор
Сообщения: 3535
Статус: OpenBSD-compatible
ОС: OpenBSD -current

Re: wget + докачка. Как?

Сообщение ddc »

Там, видимо, EoF забился... Надо попробовать ещё чем-нибудь...
Спасибо сказали:
ksaphan
Сообщения: 69

Re: wget + докачка. Как?

Сообщение ksaphan »

Нашел еще кое что.

Мои сообщения админам того сервера, с которого пытаюсь качать:

Пытаюсь скачать фильм используя wget. Если во время скачки возникает ошибка, то фильм докачать уже не возможно.
Такое ощущение, что медиа-сервер посылает неправильный ответ, или не полный.
При этом со всех сайтов, с которыми сталкивался, качает и докачивает отлично. Кроме медиа-сервера.
Кто-нибудь сталкивался с этим?
Тут точно ошибка в заголовках, посылаемых сервером. Админы?

P.S. flashget, getright и т.п. не предлагать.




Нашел в чем дело:
The server has fulfilled the partial GET request for the resource. The request MUST have included a Range header field (section 14.35) indicating the desired range, and MAY have included an If-Range header field (section 14.27) to make the request conditional.
Источник: http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html

Лечите свой сервер, уважаемые.
Я должен получать Content-Range вместе с 206 ответом. А его нет.

Из-за этого не могу нормально докачать фильм.


Как вы думаете, из-за этого может быть такое?

Я заметил, что flashget тоже Content-Range не получает, но он отправляет в запросе какой-то "Range: XXXXX", где XXXX - какие-то цифры.

Кстати, d4x тоже не докачивает.
Спасибо сказали:
ksaphan
Сообщения: 69

Re: wget + докачка. Как?

Сообщение ksaphan »

Вроде бы все свелось к тому, что ихний сервер не умеет возвращать это значение, и они говорят, что нужно запросить файл самостоятельно с нужного байта. Как это сделать?
Спасибо сказали:
Аватара пользователя
Dark_Savant
Бывший модератор
Сообщения: 1100
Статус: киборг
ОС: Cyborg OS 0.0.1.3

Re: wget + докачка. Как?

Сообщение Dark_Savant »

как при помощи wget не знаю, а вот при помощи curl'a легко. curl -r frombyte-tobyte может поможет.
I'm a tragic hero
In this game called life
My chances go to zero
But I always will survive
Спасибо сказали:
ksaphan
Сообщения: 69

Re: wget + докачка. Как?

Сообщение ksaphan »

Все, разобрался. Всем спасибо.
Админы вылечили сервер, и теперь он посылает Content-Range как и нужно.
Спасибо сказали: