URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID8
Нить номер: 6645
[ Назад ]

Исходное сообщение
"lftp и кириллические имена файлов и директорий"

Отправлено dnick , 04-Дек-09 13:51 
Господа подскажите столкнулся с такой проблемой, есть удаленный ftp сервер, на котором расположены аудиокниги. Но есть проблема, все папки и файлы названы кириллецей. Для того чтобы прокся нормально жевала этот FTP, пришлось ставить ftp_telnet_protocol off(в SQUID). Но всплыла еще одна проблема неудается через консольный FTP-клиенты скачивать файлы. Использую lftp. На сервер пускает, но все файлы и папки видны как ?????, но еще хуже того, при попытке скачивать по ссылкам сохраненным в броузерах, пишет ошибку доступа 550 и невозможность перейти в папку. До админов сервака достучатся неудалось. Может кто в курсе как это исправить. Может в lftp.conf че надо дописать???

Содержание

Сообщения в этом обсуждении
"lftp и кириллические имена файлов и директорий"
Отправлено ACCA , 04-Дек-09 16:44 
>Господа подскажите столкнулся с такой проблемой, есть удаленный ftp сервер, на котором
>расположены аудиокниги. Но есть проблема, все папки и файлы названы кириллецей.
>Для того чтобы прокся нормально жевала этот FTP, пришлось ставить ftp_telnet_protocol
>off(в SQUID). Но всплыла еще одна проблема неудается через консольный FTP-клиенты
>скачивать файлы. Использую lftp. На сервер пускает, но все файлы и
>папки видны как ?????, но еще хуже того, при попытке скачивать

Попробуй curl. Если нужны всякие преобразования, я качаю примерно так:

BASEURL="ftp://site/initial_location"

while read dt tm type DIR
    [ -z "$DIR" ] && continue
    while read dt tm sz FNAME
    do
        curl -O "$BASEURL/$DIR/$FNAME"
    done < <(curl -s "$BASEURL/$DIR/" | grep -v DIR)
done  < <(curl -s "$BASEURL/" | grep DIR)

Обрати особое внимание на / после имени каталога.

Возможно придётся побаловаться с именем файла, если в локальной файловой системе нельзя сделать имена файлов кириллицей в кодировке FTP сервера. Вместо curl -O будет curl -o $newfilename.


"lftp и кириллические имена файлов и директорий"
Отправлено dnick , 08-Дек-09 15:24 
>[оверквотинг удален]
>        curl -O "$BASEURL/$DIR/$FNAME"
>    done < <(curl -s "$BASEURL/$DIR/" | grep -v
>DIR)
>done  < <(curl -s "$BASEURL/" | grep DIR)
>
>Обрати особое внимание на / после имени каталога.
>
>Возможно придётся побаловаться с именем файла, если в локальной файловой системе нельзя
>сделать имена файлов кириллицей в кодировке FTP сервера. Вместо curl -O
>будет curl -o $newfilename.

неа, curl(просто так) не захотел тянуть руские файлы.
Проблема решилась следующим образом:
1. Установить локаль для терминального соединения(LANG=ru_RU.cp1251)
И затем все фурычит(качаю сейчас wget`ом)