The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"wget не понимает --header='Content-Length: xxxx'"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы WEB технологии (Public)
Изначальное сообщение [Проследить за развитием треда]

"wget не понимает --header='Content-Length: xxxx'"
Сообщение от USER Искать по авторуВ закладки on 19-Июн-03, 17:22  (MSK)
Два варианта или wget его игнорирует (и берёт по умолчанию) или ругается на то, что я его вообще не указал (ошибка 411)

Win98
Wget – 1.8.2
Дальше там сквид но, я думаю, он тут не причём

Пример 1:

wget -s --header="Accept-Ranges: bytes" --header="Content-Range: bytes 0-15900/15902" --header="Content-Length: 15901" http://info-images.rambler.ru/pubd/2003/06/19/0003535550/picture.jpg

ошибка 411 Length Required

Пример 2:

wget -s --header="Accept-Ranges: bytes" --header="Content-Range: bytes 0-15900/15902" --header ="Content-Length: 15901" http://info-images.rambler.ru/pubd/2003/06/19/0003535550/picture.jpg

скачивает все 15902 байта (типа он меня вообще не понял)

ЗЫ Пример 2 отличается от примера 1 тем, что там добавлен пробел после третьего слова header

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "wget не понимает --header='Content-Length: xxxx'"
Сообщение от demon emailИскать по авторуВ закладки on 19-Июн-03, 18:34  (MSK)
По идее wget-у должно быть абсолютно всеравно что в этих хеадерах передается. Т.е. он должен их передавать в том виде в каком получает из командной строки.

Имеет смысл посмотреть что именно wget передает на сервер, т.е. полный запрос со всеми хеадерами, который получает сервер.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "wget не понимает --header='Content-Length: xxxx'"
Сообщение от USER Искать по авторуВ закладки on 19-Июн-03, 19:34  (MSK)
>По идее wget-у должно быть абсолютно всеравно что в этих хеадерах передается.
>Т.е. он должен их передавать в том виде в каком получает
>из командной строки.
>
>Имеет смысл посмотреть что именно wget передает на сервер, т.е. полный запрос
>со всеми хеадерами, который получает сервер.


Посмотрел :(
В первом случае уходит:
GET http://info-images.rambler.ru/pubd/2003/06/19/0003535550/picture.jpg HTTP/1.0..User-Agent: Wget/1.8.2. .Host: info-images.rambler.ru..Accept: */*..Accept-Ranges: bytes..Content-Range: bytes 0-15900/15902..Content-Length: 15901

Во втором
GET http://info-images.rambler.ru/pubd/2003/06/19/0003535550/picture.jpg HTTP/1.0..User-Agent: Wget/1.8.2. .Host: info-images.rambler.ru..Accept: */*..Accept-Ranges: bytes..Content-Range: bytes 0-15900/15902..=Content-Length: 15901

И что в первом случае не так (что не так во втором я вижу)

  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "wget не понимает --header='Content-Length: xxxx'"
Сообщение от demon emailИскать по авторуВ закладки on 19-Июн-03, 19:48  (MSK)
Не понял.. можно с разбивкой по строчкам? Т.е. так как получает все это сервер.
  Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "wget не понимает --header='Content-Length: xxxx'"
Сообщение от USER Искать по авторуВ закладки on 19-Июн-03, 20:15  (MSK)
>Не понял.. можно с разбивкой по строчкам? Т.е. так как получает все
>это сервер.


GET http://info-images.rambler.ru/pubd/2003/06/19/0003535550/picture.jpg HTTP/1.0
User-Agent: Wget/1.8.2
Host: info-images.rambler.ru
Accept: */*
Accept-Ranges: bytes
Content-Range: bytes 0-15900/15902
Content-Length: 15901

  Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "wget не понимает --header='Content-Length: xxxx'"
Сообщение от demon emailИскать по авторуВ закладки on 19-Июн-03, 20:24  (MSK)
>GET http://info-images.rambler.ru/pubd/2003/06/19/0003535550/picture.jpg HTTP/1.0

Возникло у меня тут сомнение, что HTTP/1.0 поддерживает докачку.... Может как-то повлиять, чтобы это был HTTP/1.1?

А все остальное вроде верно (если в циферях не напутали).

  Рекомендовать в FAQ | Cообщить модератору | Наверх

6. "wget не понимает --header='Content-Length: xxxx'"
Сообщение от USER Искать по авторуВ закладки on 19-Июн-03, 21:05  (MSK)
>>GET http://info-images.rambler.ru/pubd/2003/06/19/0003535550/picture.jpg HTTP/1.0
>
>Возникло у меня тут сомнение, что HTTP/1.0 поддерживает докачку.... Может как-то повлиять,
>чтобы это был HTTP/1.1?
>
>А все остальное вроде верно (если в циферях не напутали).


Сделал HTTP/1.1
Теперь всё то же самое кроме
GET http://info-images.rambler.ru/pubd/2003/06/19/0003535550/picture.jpg HTTP/1.1
Результат тот же.


  Рекомендовать в FAQ | Cообщить модератору | Наверх

7. "wget не понимает --header='Content-Length: xxxx'"
Сообщение от Арлекин Искать по авторуВ закладки on 20-Июн-03, 08:47  (MSK)
Там вроде ключ -с есть. Для докачки. По крайней мере в Mandrake 9.0 точно есть и работает - сам проверял.
  Рекомендовать в FAQ | Cообщить модератору | Наверх

8. "wget не понимает --header='Content-Length: xxxx'"
Сообщение от USER Искать по авторуВ закладки on 20-Июн-03, 11:15  (MSK)
>Там вроде ключ -с есть. Для докачки. По крайней мере в Mandrake
>9.0 точно есть и работает - сам проверял.


Так при этом сервер получает
Range: bytes xxxxx-
Типа, надо выдавать с xxxxx и дальше
И сам отвечает, с какого – по какой из скольки и сколько будет давать.
Content-Range: bytes yyyyy-zzzzz/aaaaa
Content-Length: bbb
Если же wget-у подсунуть хедер типа
Range: bytes xxxxx-
он его передаёт дальше, но сам уже не понимает, что это докачка (-с я не ставлю). Сервер честно даёт тело файла просто wget его игнорирует, (получив 206 Partial Content, и решив, что это что-то не то, повторяет запрос).

  Рекомендовать в FAQ | Cообщить модератору | Наверх

9. "wget не понимает --header='Content-Length: xxxx'"
Сообщение от USER Искать по авторуВ закладки on 20-Июн-03, 17:44  (MSK)
Посмотрел, как качает в несколько струй RegetDeluxe
Делит на куски,
Начинает несколько сессий, типа
Range: bytes 0-
Range: bytes 1000-
Range: bytes 2000-
Range: bytes 3000-
Range: bytes 4000-
И не дослушивая до конца ответы сервера, сбрасывает соединение.
Как бы wget заставить прослушать на входе только необходимую часть и сбросить?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

10. "wget не понимает --header='Content-Length: xxxx'"
Сообщение от USER Искать по авторуВ закладки on 20-Июн-03, 20:43  (MSK)
>>GET http://info-images.rambler.ru/pubd/2003/06/19/0003535550/picture.jpg HTTP/1.0
>
>Возникло у меня тут сомнение, что HTTP/1.0 поддерживает докачку.... Может как-то повлиять,
>чтобы это был HTTP/1.1?
>
>А все остальное вроде верно (если в циферях не напутали).

Вот что интересно, сервер отвечает, что он работает по протоколу HTTP/1.0, согласно rfc действительно HTTP/1.0 Range не поддерживает, а всё работает…..


  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру