Вопрос по url, shell, wget, http, download – Как исправить имя файла загрузки wget при перенаправлении URL [закрыто]

13

Wget не удается обнаружить имя файла при переадресации 301/302. Например, чтобы загрузить исходный код MySQL изhttp://www.mysql.com/downloads/mirror.php?id=408580

wget http://www.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.25a-linux2.6-x86_64.tar.gz/from/http://cdn.mysql.com/

Файл будет сохранен какindex.html

wget http://cdn.mysql.com/Downloads/MySQL-5.5/mysql-5.5.25a-linux2.6-x86_64.tar.gz

Файл будет сохранен какmysql-5.5.25a-linux2.6-x86_64.tar.gz

но первый URL-адрес является только перенаправлением для второго URL, как показано в:

curl -I http://www.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.25a-linux2.6-x86_64.tar.gz/from/http://cdn.mysql.com/

HTTP/1.1 302 Found
Date: Mon, 09 Jul 2012 06:11:50 GMT
Server: Apache/2.2
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Set-Cookie: mirror=http%3A%2F%2Fcdn.mysql.com%2F; expires=Sat, 08-Jul-2017 06:11:50 GMT; path=/
Location: http://cdn.mysql.com/Downloads/MySQL-5.5/mysql-5.5.25a-linux2.6-x86_64.tar.gz
Content-Encoding: gzip
Vary: Accept-Encoding
Content-Type: text/html; charset=utf-8

Как можетwget спастиhttp://www.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.25a-linux2.6-x86_64.tar.gz/from/http://cdn.mysql.com/ как & quot; .tar.gz & quot; автоматически (без использования-O аргумент)?

Смотрите такжеthis Unix.SE question, Мое решение (размещено и объяснено в комментариях там) было использовать--trust-server-names Adam Katz
Ах, и еще один такой вопрос по этому вопросу: см.How to rename the downloaded file with wget? Adam Katz

Ваш Ответ

1   ответ
27

Попробуйте следующую команду:

wget --content-disposition http://www.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.25a-linux2.6-x86_64.tar.gz/from/http://cdn.mysql.com/

Когда этот параметр включен, экспериментальная (не полностью функциональная) поддержка & quot;Content-Disposition& Quot; заголовок включен. Это может привести к дополнительным обращениям к серверу для получения "HEAD". запрос и, как известно, страдает от нескольких ошибок, поэтому в настоящее время он не включен по умолчанию.

Эта опция полезна для некоторых загружаемых файлов CGI-программ, которые используют & quot;Content-Disposition& Quot; заголовок, чтобы описать, каким должно быть имя загружаемого файла.

Похожие вопросы