如何告诉 wget 使用 HTTP 重定向后面的目标文件的名称?

如何告诉 wget 使用 HTTP 重定向后面的目标文件的名称?

让我们考虑一个链接,例如 htttp://www.mysite.net/download.php?id=267,该链接重定向到 htttp://www.mysite.net/downloads/myfile.tar.gz

如果我执行“wget "htttp://www.mysite.net/download.php?id=267"”,wget 将顺利下载并将结果保存在名为“download.php?id=333”的文件中。将此文件命名为“myfile.tar.gz”会更有意义。

当然还有使用“wget -O myfile.tar.gz“htttp://www.mysite.net/download.php?id=267”的解决方法,但这不是我想要的:我希望 wget 自动做正确的事情。

有没有什么方法可以告诉 wget 使用 HTTP 重定向后面的目标文件的名称?

还有其他类似的工具可以做到这一点吗?

答案1

wget --trust-server-names=on htttp://www.mysite.net/download.php?id=267

或者trust-server-names中的选项~/.wgetrc

有可能安全风险如果 HTTP 重定向到../../../../../../../../../../../../etc/passwd

答案2

我发现 lynx 也经常会获取重定向后面的文件。

相关内容