Заменяет знак вопроса при скачивании через wget
Скачиваю сайт с помощью команды:
wget -r -l10 -k -nd -e robots=off https://site.com -P /folder
И получается что если в странице сайта есть, например,
<script src="script.js?AD0DD71A"></script>
То на диске файл сохраняется с именем: script.js%3FAD0DD71A
Как это обойти?
Ответы (1 шт):
знак вопроса не очень хороший символ в имени файла. wget делает все правильно. Представьте себе, что удаленный сервер передаст имя файла в виде ../../etc/passwd. И есть шансы, что все пойдет немного по другому. А удаленный сервер может в теории вписать туда все, что угодно.
Но если очень хочется, то можно wget попросить
--restrict-file-names=modes
где modes
unixменяем/и control characters в диапазоне 0--31 и 128--159.windowsменяем\,|,/,:,?,",*,<,>, и control characters в диапазона 0--31 и 128--159. - это то, что срабатывает у Васnocontrol- выключить замену символов (похоже, это то что Вам нужно, но оно опасно!)ascii- заменять все не аски символы (больше кода 127)lowercase- все в нижний регистрuppercase- все в верхний регистр
Думаю, что Вам нужно попробовать --restrict-file-names=unix или --restrict-file-names=ascii