我正在尝试从 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 是地址文件吗?