1

我有一个用于下载我所有 Chrome 书签的脚本。我将 wget 与 --html-extension 一起使用,因为某些书签以 .php 结尾,并且除非使用 --html-extension 选项,否则无法由 Web 浏览器打开。我遇到的问题是,当我将 --html-extension 与 --no-clobber 一起使用时,由于某种原因,它无法识别大多数文件已经存在,因此它会经历重新下载内容的整个过程已经有了。

一个例子: wget -nc http://www.test.com/ 运行一次将按预期保存文件。如果你再次运行它,它会说文件已经存在,所以不检索。这就是我所期望的操作。

但是,删除刚刚保存的文件并运行: wget -nc http://www.test.com/ --html-extension 然后再次运行相同的命令。它覆盖文件而不是说文件已经存在。到底是怎么回事?

4

1 回答 1

2

添加 html 后缀时,wget 无法告诉您要将其与哪个远程文件进行比较。

男人 wget:http ://unixhelp.ed.ac.uk/CGI/man-cgi?wget

=======================

--html-扩展名

如果下载了 application/xhtml+xml 或 text/html 类型的文件并且 URL 不以正则表达式 .[Hh][Tt][Mm][Ll]? 结尾,则此选项将导致后缀 .html附加到本地文件名。这很有用,例如,当您镜像一个使用 .asp 页面的远程站点,但您希望镜像页面可以在您的库存 Apache 服务器上查看时。另一个很好的用途是当您下载 CGI 生成的材料时。像http://site.com/article.cgi?25这样的 URL将被保存为 article.cgi?25.html。

请注意,以这种方式更改的文件名将在您每次重新镜像站点时重新下载,因为 Wget 无法判断本地 X.html 文件对应于远程 URL X(因为它还不知道该 URL产生 text/html 或 application/xhtml+xml 类型的输出。 为防止重新下载,您必须使用 -k 和 -K 以便将文件的原始版本保存为 X.orig。

于 2013-01-23T02:48:12.377 回答