3

正如我在这里读到的,重定向可以很容易地被--max-redirect 0. 但是,如果有两种重定向:好的一种和坏的一种。

在我的情况下,好的重定向是:

http://someaddres.com/888.html -> http://someaddres.com/some-string-in-url-describing-page.html

错误的重定向是:

http://someaddres.com/555.html -> http://someaddres.com/

我能做些什么来只放松良好的重定向?

4

2 回答 2

2

我能想到的唯一方法是按照您所说的那样关闭重定向,然后解析响应(我建议使用sedor grep,但我确信还有其他选项)寻找重定向请求. 您可能需要参数--server-response来获取标头,具体取决于用于重定向的方法。如果找到了,请对重定向目标执行新的 wget(除非它是您不想重定向到的目标)。

于 2012-08-23T09:05:15.703 回答
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
于 2012-08-23T09:25:32.243 回答