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
不再。
这被报告为错误#29647在GNU Wget 错误追踪。
使用提供的修补(这显然没有写入官方源代码)这个问题消失了,并且wget
被迫首先创建目录。因此,下载可以继续。
但是,http://clojuredocs.org/clojure_core
保存为./clojuredocs.org/clojure_core.1
,而不是./clojuredocs.org/clojure_core/index.html
。
我无法判断链接转换器(-k
)是否足够智能,可以让这个镜像本地副本中的链接正常工作……几分钟后我停止了下载。(我太不耐烦了;)
)