当我去这里的ISC下载BIND时,我的浏览器会自动正确保存下载的文件。例如,如果我单击9.9.4-P2的“下载”按钮,则会弹出一个窗口,如果我单击右侧的“ BIND 9.9.4-P2-tar.gz”按钮,浏览器将自动保存下载文件为“ bind-9.9.4-P2.tar.gz”。
但是,我想做的是在Linux上通过wget下载它。因此,我右键单击“ BIND 9.9.4-P2-tar.gz”按钮,并复制了以下链接:“ https://www.isc.org/downloads/file/bind-9-9-4-p1- tar-gz /?version = tar.gz “。
现在,当我发出以下命令时,会将其另存为“ index.html?version = tar.gz”。现在,我知道可以给它提供-O选项并显式指定保存的文件名,但是有没有办法像我的浏览器一样自动执行此操作?
wget https://www.isc.org/downloads/file/bind-9-9-4-p1-tar-gz/?version=tar.gz
在HTTP级别,服务器将Content-Disposition
HTTP响应内的标头字段中的文件名信息发送给客户端:
HTTP/1.1 200 OK
[…]
Content-Disposition: attachment; filename="bind-9.9.4-P2.tar.gz";
有关头字段的详细信息,请参见RFC2183Content-Disposition
。
wget
根据其联机帮助页,该功能具有实验性支持:
--content-disposition If this is set to on, experimental (not fully-functional) support for "Content-Disposition" headers is enabled. This can currently result in extra round-trips to the server for a "HEAD" request, and is known to suffer from a few bugs, which is why it is not currently enabled by default.
因此,如果您选择启用它,只需指定该--content-disposition
选项即可。(您也可以用curl
代替做这项工作wget
,但是问题是关于wget
。)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句