Подтвердить что ты не робот

Как исправить имя файла загрузки wget при перенаправлении URL-адреса

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/ как ".tar.gz" автоматически (без использования аргумента -O)?

4b9b3361

Ответ 1

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

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/

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

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