在我阅读here时,--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/
我可以做些什么来缓解好的重定向?
答案 0 :(得分:2)
我能想到的唯一方法就是按照你的说法关闭重定向,然后解析回复(我建议使用sed
或grep
,但我确定还有其他选择)寻找重定向请求。根据用于重定向的方法,您可能需要参数--server-response
来获取标头。如果您找到一个,请对重定向目标执行一个新的wget(除非它是您不想重定向到的目标)。
答案 1 :(得分: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