![wget 输出文件中看似随机的字符](https://linux22.com/image/1269552/wget%20%E8%BE%93%E5%87%BA%E6%96%87%E4%BB%B6%E4%B8%AD%E7%9C%8B%E4%BC%BC%E9%9A%8F%E6%9C%BA%E7%9A%84%E5%AD%97%E7%AC%A6.png)
我用来wget
创建在我的计算机上本地运行的网站的备份。我使用的命令是:
wget -rkE http://localhost/mpmf/www/dev
所以这实际上效果很好,但每个文件的顶部和底部都有一些随机字符。例如,第一行index.html
是4c11
,最后一行只是0
。看起来很多文件都以结尾,0
但我还没有检查每个文件是否如此。
看起来wget
这样做可能有某种原因。我认为这可能与它以递归方式遍历网站的方式有关,但我不知道。那么,有没有办法可以做到这一点,而不需要在我的文件中添加这些额外的行?
答案1
答案2
是的,允许服务器使用 HTTP/1.1 响应来响应 HTTP/1.0 请求,前提是它们避免使用 HTTP/1.1 特定的功能(例如分块编码)。
不仅仅是文件的顶部和底部 - 至少是有可能的。您还可能发现这些块头散布在整个文件中(这会导致文件损坏)。
在不知道您的服务器配置详细信息的情况下,我无法解释为什么您的一个 Apache/PHP 设置会忽略 wget 请求的 HTTP 版本,而另一个却尊重它。
不过,我要指出的是,当前的开发源(我认为最终将是 wget 1.12.1)包括对 HTTP/1.1 请求和分块内容的支持。目前没有可用的 deb 包,但如果您习惯从源构建,这是一个选择。最新的测试源包(最容易构建,否则您必须满足一组苛刻的先决条件)位于ftp://alpha.gnu.org/gnu/wget/wget-1.12-2460.tar.bz2,最后更新日期为 3 月 16 日。