Войти

Показать полную графическую версию : wget скачать по FTP файл с % в имени


El Scorpio
06-10-2023, 05:15
Пишу скрипт для скачки файлов с локального FTP. В списке файлов обнаружил несколько с символами %3a в имени

wget ftp://MY_FTP_SERVER/PATH/fonts-liberation_1%3a1.07.4-11.deb
--2023-10-06 12:08:48-- ftp://MY_FTP_SERVER/PATH/fonts-liberation_1%3a1.07.4-11.deb
=> «fonts-liberation_1:1.07.4-11.deb»
Распознаётся MY_FTP_SERVER (MY_FTP_SERVER)… 172.XX.XX.7
Подключение к MY_FTP_SERVER (MY_FTP_SERVER)|172.XX.XX.7|:21... соединение установлено.
Выполняется вход под именем anonymous … Выполнен вход в систему!
==> SYST ... готово. ==> PWD ... готово.
==> TYPE I ... готово. ==> CWD (1) /PATH ... готово.
==> SIZE fonts-liberation_1%3a1.07.4-11.deb ... готово.

==> PASV ... готово. ==> RETR fonts-liberation_1%3a1.07.4-11.deb ...
Нет такого файла: «fonts-liberation_1%3a1.07.4-11.deb».


То есть в папке на сервере FTP лежит файл fonts-liberation_1%3a1.07.4-11.deb , а программа wget при скачивании подменяет "%3a" на двоеточие, а потом не может скачать его по изменённому имени
Попытки взять ссылку в двойные или одинарные кавычки результата не дали.
Вопрос - какой параметр нужно указать программе wget, чтобы она не изменяла ссылки?

ruslandh
06-10-2023, 06:26
Попробуйте заэкранировать символ % так:
\%

El Scorpio
06-10-2023, 09:23
пробовал - не помогает, всё равно преобразует %код в в символ двоеточия

dmitryst
06-10-2023, 10:21
А если ссылку записывать в обрамлении одиночных (можно попробовать и двойных) кавычек?
wget 'link со спец-символами'

El Scorpio
09-10-2023, 04:40
пробовал
походу это сам wget строку URL преобразовывает, значит нужно ему дать параметр --не-преобразовывать-url
только как его прописать...


пока в качестве временного решения сделал на сервере символьную ссылку

dmitryst
09-10-2023, 08:53
Тут (https://stackoverflow.com/questions/28777525/how-to-force-wget-to-not-url-encode) советуют такой костыль:
curl 'http://www.foo.com/bar.cgi?param="p"'




© OSzone.net 2001-2012