【发布时间】:2012-05-23 01:29:12
【问题描述】:
我想将一个简单的受密码保护的门户网站镜像到我想保持镜像和最新的一些数据。本质上,这个网站只是一个目录列表,其中的数据被组织到文件夹中,我并不真正关心保留 html 文件和其他格式元素。 但是有一些巨大的文件类型太大而无法下载,所以我想忽略这些。
使用wget -m -R/--reject 标志几乎可以满足我的要求,除了下载所有文件,如果它们与 -R 标志匹配,则它们将被删除。
这是我使用wget的方式:
wget --http-user userName --http-password password -R index.html,*tiff,*bam,*bai -m http://web.server.org/
这会产生这样的输出,确认排除的文件 (index.html) (a) 被下载,然后 (b) 被删除:
...
--2012-05-23 09:38:38-- http://web.server.org/folder/
重用与 web.server.org:80 的现有连接。
HTTP 请求已发送,等待响应... 401 需要授权
重用与 web.server.org:80 的现有连接。
HTTP 请求已发送,正在等待响应... 200 OK
长度:2677 (2.6K) [文本/html]
保存到:`web.server.org/folder/index.html' 100%[================================================= ==================================================== =====================>] 2,677 --.-K/s in 0s缺少上次修改的标头 -- 时间戳已关闭。
2012-05-23 09:38:39 (328 MB/s) - `web.server.org/folder/index.html' 已保存 [2677/2677]
删除 web.server.org/folder/index.html 因为它应该被拒绝。
...
有没有办法强制 wget 在下载文件之前拒绝它?
有没有我应该考虑的替代方案?
另外,尽管提供了用户名和密码,为什么我会为每个下载的文件收到 401 Authorization Required 错误。就像wget 在尝试用户名/密码之前每次都尝试未经身份验证的连接。
谢谢,马克
【问题讨论】:
-
从这个(重复的)问题中查看关于修改 wget 的解决方案:stackoverflow.com/questions/12704197/…
标签: wget