如何让 wget 使用直接 URL 文件名作为缩短 URL 的输出文件名

如何让 wget 使用直接 URL 文件名作为缩短 URL 的输出文件名

我正在尝试从 URL 列表中批量下载所有书籍。该列表位于 http://ligman.me/W3TuLr 的文本文件中。我正在尝试在 linux 上使用wget这个。所有这些 URL 似乎都是使用 URL 缩短服务创建的。问题是当我运行时wget --server-response --input-file=list.txt,文件下载正常,但 wget 使用缩短的 URL 标记作为名称,而我可以在服务器响应中看到Location直接文件 URL 的标头包含真正可读的书名。

如何以wget可读的文件名写入输出文件?wget版本是1.13.4。

我对任何其他可以执行相同任务的 Linux 命令持开放态度。

答案1

使用--trust-server-names选项:

--信任服务器名称:如果将此设置为打开,则在重定向时,重定向 URL 的最后一个部分将用作本地文件名。默认情况下,它使用原始 URL 中的最后一个组成部分。

请注意,在某些情况下,这可能会带来安全风险:在获得创建的文件名之前,您无法知道它是什么,并且可以想象它可能会覆盖您想要的内容。这曾经是默认行为直到那时问题被发现。

答案2

您是否尝试过以下操作

     $ wget -i downloadaddreslist.txt

downloadaddresslist.txt 是地址文件吗?

相关内容