wget: 如果指向位置X,请勿跟随重定向,否则请跟随。

3
2个回答

2
我能想到的唯一方法是按照您所说的关闭重定向,然后解析响应(我建议使用sedgrep,但我确定还有其他选项),查找重定向请求。根据用于重定向的方法,您可能需要参数--server-response来获取头信息。如果发现重定向请求,请务必使用新的wget下载重定向目标(除非您不想重定向到该目标)。

1

正如@Thor84no所说,一种解决方案是解析响应。这是我的解决方案:

REDIRECTED_TO=`wget --max-redirect 0 $ADDRESS 2>&1 | grep "Location" | sed 's|.*\(http://.*/.*\) .*|\1|'`

if [ "$REDIRECTED_TO" != "$BAD_REDIRECTION" ]; then wget $REDIRECTED_TO; fi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接