我使用以下命令下载该站点:
wget -r -l10 -k -nd -e robots=off https://site.com -P /folder
事实证明,如果网站页面包含,例如,
<script src="script.js?AD0DD71A"></script>
然后文件以名称保存在磁盘上:script.js%3FAD0DD71A
如何绕过它?
我使用以下命令下载该站点:
wget -r -l10 -k -nd -e robots=off https://site.com -P /folder
事实证明,如果网站页面包含,例如,
<script src="script.js?AD0DD71A"></script>
然后文件以名称保存在磁盘上:script.js%3FAD0DD71A
如何绕过它?
问号不是文件名中的好字符。wget 做的一切都是正确的。想象一下,远程服务器会将文件名作为
../../etc/passwd. 事情可能会有所不同。理论上,远程服务器可以在那里输入您想要的任何内容。但是如果你真的想要,那么你可以问 wget
哪里模式
unix我们/还在 0--31 和 128--159 范围内更改控制字符。windows在 0--31 和 128--159 范围内更改\,|,/,:,?,",*,<,>和控制字符。对你有用nocontrol- 关闭字符替换(看起来这是你需要的,但它很危险!)ascii- 替换所有非 asci 字符(大于代码 127)lowercase- 全部小写uppercase- 全部大写我认为你应该尝试
--restrict-file-names=unix或--restrict-file-names=ascii