如何在重定向url时修复wget下载文件名

Zhe*_*Kai 13 url shell http wget download

Wget301/302重定向时无法检测文件名.例如,从http://www.mysql.com/downloads/mirror.php?id=408580下载MySQL源代码

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/
Run Code Online (Sandbox Code Playgroud)

该文件将另存为 index.html

wget http://cdn.mysql.com/Downloads/MySQL-5.5/mysql-5.5.25a-linux2.6-x86_64.tar.gz
Run Code Online (Sandbox Code Playgroud)

该文件将另存为 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
Run Code Online (Sandbox Code Playgroud)

如何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/ as ".tar.gz"自动(不使用-O参数)?

vch*_*shy 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/
Run Code Online (Sandbox Code Playgroud)

当此项设置为on时,将启用对" Content-Disposition "标头的实验性(非全功能)支持.这可能会导致额外的往返服务器的往返"HEAD"请求,并且已知会遇到一些错误,这就是默认情况下当前未启用的原因.

此选项对于某些文件下载CGI程序很有用,这些程序使用" Content-Disposition "标头来描述下载文件的名称应该是什么.