nataraj: (Default)
[personal profile] nataraj
Вот есть ссылка http://lib.rus.ec/book/55674/download
За ней на самом деле живет не файл, а ридирект на

http://lib.rus.ec/books/Tihij_Sanja_100%-no_rastvorimyj_kofe.zip

Так вот... Если закачивать исходный url скажем wget'ом, то все работает, он догадывается что % надо заменить на %25...

А вот LWP::UserAgent -- не догадывается...

При этом, если вдуматься в задачу, то задача глубоко философская... По какому признаку агент должен понять, что в http://lib.rus.ec/books/Tihij_Sanja_100%-no_rastvorimyj_kofe.zip процент расшифровывать надо, а в http://lib.rus.ec/books/Tihij_Sanja_100%25-no_rastvorimyj_kofe.zip -- уже нет...

Как ее решать -- не понимаю...

Date: 2008-01-24 01:32 pm (UTC)
From: [identity profile] shutofsky.livejournal.com
А не по следующим за % цифрам и(или) 16-ричным знакам?

Date: 2008-01-24 01:41 pm (UTC)
ext_613079: Default userpic (Default)
From: [identity profile] shaplov.livejournal.com
А если б он вез патроны в имени файла как раз за процентом следует две цифры... Ну так мама назвала:-/

Date: 2008-01-24 01:50 pm (UTC)
From: [identity profile] shutofsky.livejournal.com
Ну тогда парсер обломается... Раз уж нет единого стандарта на такие имена или он нарушается... По-хорошему, процент - спецсимвол, который бы в именах файлов надо инвалидировать... Но это только по-хорошему...

Date: 2008-01-24 02:03 pm (UTC)
From: [identity profile] slobin.livejournal.com
Согласно RFC3986, первый вообще не является валидным URL, поэтому приложение имеет право делать с ним всё, что хочет, и нарушением стандарта это не будет. ;-) А на практике, видимо, изучить, как такие урл'ки обрабатывает тот реальный сервер, с которым ты работаешь, и сделать совместимо. Кстати, в именах файлов (не в урл'ках, а при сохранении на диске) я вообще на всякий случай все \W заменяю на минусы, от греха подальше.

... Collect the data you need and run away ...

Date: 2008-01-24 02:08 pm (UTC)
From: [identity profile] slobin.livejournal.com
Вдогонку: не путаем компоненты урл'ки и имена файлов! Никто не обещал, что первые непременно отображаются на вторые: может, он их не из файловой системы достаёт, а из базы какой-нибудь. ;-) А если и из файловой системы, то кто сказал, что имя, под которым ты у себя сохраняешь файл, обязано совпадать с именем, под которым сервер хранит его на своей стороне?

... Под властью свирепого кибернетического диктатора ...

Profile

nataraj: (Default)
Swami Dhyan Nataraj

July 2024

S M T W T F S
 123456
789 10111213
14151617181920
21222324252627
28293031   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Mar. 10th, 2026 11:04 pm
Powered by Dreamwidth Studios