我正在尝试镜像一个网站的登陆页面以对其进行测试。
有没有办法只镜像网站的第一级?IE 所有请求都应该只针对第一个索引页(而不是wget -m -k
)成为本地文件。
我对命令行很熟悉,因此使用 CLI 工具是完全可以接受的。
提前致谢!
答案1
为了仅获取站点的索引页及其必需品,并将它们转换为本地呈现,以下 wget 调用(当然,用您想要镜像的 URL 替换示例 URL)应该会产生所需的结果,将文件下载到您运行它时所在的目录中:
wget -r -l1 -k -nH http://www.example.com
选项含义如下:
- -r:使用递归检索(跟随链接到其他文件)。
- -l1:将递归深度限制为 1(按照命令行给出的 URL 中的链接,但不按照这样检索到的文件中的链接)。
- -k:重写检索到的文件中绝对链接以引用下载的版本,而不是镜像网页上托管的版本。
- -nH:不要为下载的文件创建每个主机名的目录(否则,如果您在例如中
/home/example/mirror
,则所有内容都会进入/home/example/mirror/www.example.com
)。
根据目标站点的设置方式,您可能需要对检索到的文件进行一些额外的处理(例如,.php
从磁盘打开时,带有扩展名的文件可能无法正确呈现,因为没有服务器提供标Content-Type
头来告诉您的浏览器它们包含 HTML)。不过,这应该是一个非常好的开始。