У меня есть такой URL:
http://dl.minitoons.ir/longs/Khumba (2013) [EN] [BR-Rip 720p] - [www.minitoons.ir].rar
Я хочу скачать этот URL используя wget
. Если я передаю это напрямую wget
, все идет хорошо. Но я нахожусь в ситуации, когда у меня есть только закодированные версии URL-адресов загрузки. Если я передаю закодированную версию URL-адреса выше wget
, он выдает следующую ошибку:
$ wget "http%3A%2F%2Fdl.minitoons.ir%2Flongs%2FKhumba%20(2013)%20%5BEN%5D%20%5BBR-Rip%20720p%5D%20-%20%5Bwww.minitoons.ir%5D.rar"
wget: unable to resolve host address `http://dl.minitoons.ir/longs/khumba (2013) [en] [br-rip 720p] - [www.minitoons.ir].rar'
Обратите внимание, что wget
изменился регистр URL (например, Khumba
на khumba
). Что я должен сделать, чтобы решить эту проблему?
python -c 'import urllib2; print urllib2.unquote("'${URL}'")'
делает примерно то же самое, если вы поместите свой URL в URL переменной среды.Вы должны использовать это так
Просто замените все пробелы на
%20
. Или лучше скопируйте исходную ссылку и вставьте ее в адресную строку браузера Chromium. Он автоматически отформатирует его для вас. Теперь скопируйте его оттуда на свой терминал.источник
[Ctrl]+[Shift]+[J]
(для консоли разработчика) и вставитьdecodeURIComponent("your-decoded-URI")
.Wget ожидает, что URL будет иметь следующий формат:
Протокол не является обязательным. В отсутствие протокола Wget предполагает HTTP.
Wget прекрасно принимает URL в процентах, но разделители между протоколом , хостом и путем не могут быть закодированы в процентах.
По этой же причине Wget изменил регистр URL. Так как он не нашел ни одного некодированного слэша, он предполагает, что
это имя хоста (которое не зависит от регистра). Фактическое имя хоста, конечно,
dl.minitoons.ir
.Для автоматического решения достаточно заменить
%3A%2F%2F
и%2F
после имени хоста на://
и/
, но так же просто декодировать URL в один. @Wilf уже дал хорошее решение для этого.Однако, если вы собираетесь вводить команду Wget вручную, просто сделайте это:
источник
Вам нужно только поставить кавычки вокруг URL и готово:
Это проще, и вам не нужно смущаться.
источник
Я закончил тем, что написал сценарий Python для этого.
источник