Давайте рассмотрим ссылку, такую как htttp: //www.mysite.net/download.php? Id = 267, которая перенаправляет на htttp: //www.mysite.net/downloads/myfile.tar.gz
Если я выполню 'wget "htttp: //www.mysite.net/download.php? Id = 267"', wget с радостью загрузит и сохранит результат в файле с именем "download.php? Id = 333". Назвать этот файл myfile.tar.gz имело бы гораздо больше смысла.
Конечно, есть обходной путь использования 'wget -O myfile.tar.gz "htttp: //www.mysite.net/download.php? Id = 267"', но это не то, что я хочу: я хочу, чтобы wget делал правильная вещь автоматически.
Есть ли способ указать wget использовать имя целевого файла за перенаправлением HTTP?
Есть ли другой аналогичный инструмент, который бы это сделал?
wget --trust-server-names=on htttp://www.mysite.net/download.php?id=267
Или вариант trust-server-names
в ~/.wgetrc
.
Это может быть угроза безопасности если перенаправление HTTP идет на ../../../../../../../../../../../../etc/passwd
Я обнаружил, что lynx также часто получает файл за перенаправлением.