一尘不染

重定向curl后获取最终URL

linux

在页面重定向(最好使用curl或wget)之后,我需要获取最终的URL。

例如, http://google.com 可以重定向到
http://www.google.com

内容很容易获得(例如curl --max-redirs 10 http://google.com -L),但是我只对最终URL(在前一种情况下为http://www.google.com)感兴趣。

仅使用Linux内置工具有什么方法可以做到这一点?(仅命令行)


阅读 562

收藏
2020-06-03

共1个答案

一尘不染

curl-w选项和sub变量url_effective就是您要寻找的。

就像是

curl -Ls -o /dev/null -w %{url_effective} http://google.com

更多信息

-L         Follow redirects
-s         Silent mode. Don't output anything
-o FILE    Write output to <file> instead of stdout
-w FORMAT  What to output after completion

更多

您可能还想添加-I(这是一个大写字母i),这将使命令不下载任何“
body”,但是它随后还使用HEAD方法,这不是要包含的内容,并且可能会更改服务器的功能。有时,即使服务器对GET的响应很好,服务器对HEAD的响应也不好。

2020-06-03