通过 wget 下载隐藏文件的标志是什么?

通过 wget 下载隐藏文件的标志是什么?

http我从by下载了一个大目录(带有子目录),wget但隐藏文件 ( .filename) 被遗漏了。

我怎样才能下载它?

为@dhag 编辑

我使用命令:wget --mirror --no-parent https://.../directory --user=... --password=...

我不知道你的第二个问题的答案,但我可以通过这种方式下载隐藏文件,wget --mirror --no-parent https://.../directory/.hidden_file_name --user=... --password=...但这种方式非常低效。

答案1

达格的评论是正确的。wget下载带有在命令行中传递的 url 的页面。很wget可能会收到这样的论点:

wget -r --no-parent http://host/dir

参数-r表示递归下载。但递归下载并不意味着下载目录中的所有内容dir。这意味着下载给定url的页面,找到页面中的所有链接并下载所有链接的页面。

那么该 url 可能会指向服务器上的某个目录。但是 http 服务器随后会提供一个 html 页面,其中包含每个文件的链接(如果允许目录列表)。然后该页面包含类似的内容

<a href="filename1">filename1</a><p>
<a href="filename2">filename2</a>

html 页面可能包含其他信息,如文件大小、文件类型、所有者等。但所有信息都是在服务器端生成的,像 wget 这样的客户端只能解析服务器提供的信息,并通过此“目录列表”跟踪页面中列出的链接。

因此,如果文件被隐藏并且未在目录列表中列出,则这是服务器决定,您不能强制服务器通过 wget 参数提供更多信息。

尽管如此,你也并非不走运。大多数http 服务器都可以配置,管理员可以决定隐藏哪些文件。例如,apache 服务器有一个配置选项IndexIgnore,它包含应该隐藏的文件模式。

相关内容