使用 wget 镜像时“没有这样的文件或目录”

使用 wget 镜像时“没有这样的文件或目录”

我正在尝试保存本地版本克洛朱尔 文档使用以下wget命令:

wget --user-agent=firefox --ignore-length -c -km 
"http://clojuredocs.org/quickref/Clojure Core"`

no such file or directory但当它到达一些链接时 会继续http://clojuredocs.org/clojure_core/clojure.core/rem这显然是存在的,因为你可以通过浏览器访问。我猜这是wget路径构建/连接方式的问题。如何修复此问题?。我尝试过其他选项,例如--user-agent和,--ignore-length但我仍然得到如下所示的相同结果(您必须打开图像才能正确查看消息)。

在此处输入图片描述

这似乎是镜像的问题,因为命令:

wget http://clojuredocs.org/clojure_core/clojure.core/rem

工作正常。

答案1

您的问题源于wget将 URL 保存http://clojuredocs.org/clojure_core到名为 的文件的行为./clojuredocs.org/clojure_core,但将 URL http://clojuredocs.org/clojure_core/(请注意尾随的斜杠)保存到名为 的文件./clojuredocs.org/clojure_core/index.html

一旦文件 ./clojuredocs.org/clojure_core创建后,以下下载注定http://clojuredocs.org/clojure_core/something会失败,因为wget无法创建目录 ./clojuredocs.org/clojure_core不再。

这被报告为错误#29647GNU Wget 错误追踪

使用提供的修补(这显然没有写入官方源代码)这个问题消失了,并且wget被迫首先创建目录。因此,下载可以继续。

但是,http://clojuredocs.org/clojure_core保存为./clojuredocs.org/clojure_core.1,而不是./clojuredocs.org/clojure_core/index.html

我无法判断链接转换器(-k)是否足够智能,可以让这个镜像本地副本中的链接正常工作……几分钟后我停止了下载。(我太不耐烦了;)

相关内容