wget递归下载.vts文件时被添加额外响应头该如何处理
问题原因
这个问题是因为递归下载时,Apache服务器默认会对可压缩的文本类内容启用gzip/deflate压缩传输,部分版本的wget在递归下载场景下无法正确剥离压缩对应的HTTP响应头,就会出现额外头部被写入下载文件的情况。单独下载单个文件时wget会自动处理压缩响应,所以不会出现该问题。
解决方法
使用如下调整后的命令即可:
wget -r -A vts --no-save-headers --header="Accept-Encoding: identity" <url>
新增参数说明:
--no-save-headers:显式禁止wget将HTTP响应头写入下载的文件,直接写入响应正文内容--header="Accept-Encoding: identity":告知Apache服务器不要对返回内容做压缩处理,直接返回原始vts文件,避免压缩导致的解析异常
如果调整后仍存在该问题,可以额外添加--http1.0参数强制使用HTTP 1.0协议下载,规避部分Apache服务端对HTTP 1.1分块传输的处理异常:
wget -r -A vts --no-save-headers --header="Accept-Encoding: identity" --http1.0 <url>
内容的提问来源于stack exchange,提问作者James
相关产品推荐
相关产品推荐

