Как запретить aria2 переименовывать HTML-файлы?
Я использую aria2 и uGet (который представляет собой графический интерфейс для aria2) для загрузки файлов, однако он переименовывает файлы HTML, например, я загружаю эту ссылку https://www.wowhead.com/item=10001 и сохраняет переименованный файл. как «черная магическая одежда» (без расширения).
Мне нужно, чтобы загруженный файл имел имя типа «item=10001» (без расширения), такое же, как имя, которое вы получаете при использовании wget.
Я использую Windows, но думаю, что и в Linux они действуют так же.
1 ответ
aria2 не переименовывает файлы, а wget — об этом позже. aria2 не имеет возможности автоматически вести себя как wget при каждой загрузке, но вы можете получить желаемое имя, создав список загрузок с параметрами (обратите внимание на обязательный пробел перед опцией):
https://www.wowhead.com/item=10001
out=item=10001
https://www.wowhead.com/item=10002
out=item=10002
Затем используйте файл в качестве входных данных:
aria2c -i files.txt
Если вы используете aria2, вам, вероятно, нужно загрузить много файлов, и вы уже генерируете список файлов с помощью какого-то сценария, так что это не должно быть так уж сложно. Умный текстовый редактор также может сделать это с помощью хорошей операции поиска и замены.
Почему wget лжет тебе
Когда вы пытаетесь скачать
HTTP/1.1 301 Moved Permanently
Location: /item=10001/black-mageweave-robe
Обычный браузер последует за перенаправлением и, в соответствии со стандартом HTTP, обновит URI, чтобы он соответствовал. wget повторяет попытку перехода к новому местоположению, но делает вид, что перенаправление никогда не происходит, и использует старое имя. Лично я считаю, что это недостаток wget, который в данном случае просто соответствует вашим требованиям!
Вы можете заставить wget использовать новое местоположение с помощью