当URL重定向如何解决wget的下载文件名[关闭](How to fix wget download

2019-06-26 03:30发布

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参数)?

Answer 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/

当设定为on,为“Content-Disposition的 ”报头中的实验(不完全功能性)支持被启用。 这可能会导致额外的往返到服务器的“HEAD”的要求,被称为从一些错误之苦,这就是为什么它不是当前默认启用。

此选项是使用“ 内容处置 ”头,以描述一个下载文件的文件名应该是什么样的一些文件下载CGI程序非常有用。



文章来源: How to fix wget download file name when the url is redirected [closed]