#2 wget 下载时使用正确的文件名

2021-08-31

wget use correct filename when download

因为使用 wget 下载文件总是会使用 URL 最后一串字符作为文件名,但这有时不是我们想要的,比如:

download?xxxxxxxxxxxxxxxxxx
index.html?xxxxxxxxxxxxxxxxxx

我查阅了 wget 的帮助文档,发现只有个 --trust-server-names 参数有点像,但是文档总说这个参数的作用是使用重定向 URL 的最后一段作为本地文件名,试验之后确实没啥变化。

然后仔细找了一下,发现了 --content-disposition,这个才对嘛,使用响应头的 Content-Disposition 字段作为文件名,试了一下,有效!

PS:不过文档中说这个选项是实验性的。
PS:我的 wget 版本是 1.21,根据官网上的信息,这是最新版本,不过我看到有一个命名为 wget2 的新版本正在开发中,支持 HTTP/2, HTTP compression, parallel connections, use of If-Modified-Since HTTP header, TCP Fast Open. 期待!!!

还有一个参数,有些时候或许有用:--restrict-file-names=windows,unix, 限制文件中出现操作系统禁止的特殊字符。mark 一下。