0

curl重定向次数和最终地址同时获取:3个实战技巧让跳转信息一目了然

2026.06.05 | youres | 18次围观

curl重定向次数和最终地址同时获取:3个实战技巧让跳转信息一目了然

一、为什么需要同时获取重定向次数和最终地址?

curl是网站调试的常用工具,很多时候我们需要同时知道两个核心信息:当前URL重定向了多少次?最终跳转到了哪个地址?比如排查短链UTM参数丢失问题时,需要知道跳转次数和最终URL;排查重定向循环问题时,需要知道跳转次数是否超过阈值。

curl提供了两个内置变量可以配合-w参数同时输出:num_redirects(重定向次数)和url_effective(最终URL),只需要简单配置就能同时获取这两个关键信息。

二、基础用法:同时输出重定向次数和最终URL

基础用法只需要在curl -w参数中同时指定num_redirectsurl_effective变量即可,命令格式如下:

curl -L -w "跳转次数:%{num_redirects}
最终URL:%{url_effective}
" -o /dev/null -s https://example.com

参数说明:

  • -L:跟随重定向
  • -w:指定输出格式, 是换行符
  • -o /dev/null:不输出响应内容
  • -s:静默模式,不输出统计信息

执行后会输出两行结果:跳转次数和最终URL,非常适合快速调试单条URL的重定向问题。

三、进阶用法:格式化输出重定向完整信息

如果需要同时获取更多重定向相关信息,比如重定向耗时、HTTP状态码,可以在-w参数中追加对应的变量,完整命令如下:

curl -L -w "跳转次数:%{num_redirects}
最终URL:%{url_effective}
重定向耗时:%{time_redirect}s
HTTP状态码:%{http_code}
" -o /dev/null -s https://example.com

这样可以一次性获取所有需要的重定向相关信息,不需要多次执行curl命令,调试效率提升一倍。

四、实战场景:批量检测重定向次数和最终URL

结合xargs可以实现批量检测多个URL的重定向信息,命令如下:

cat url_list.txt | xargs -I {} curl -L -w "URL:{}
跳转次数:%{num_redirects}
最终URL:%{url_effective}

" -o /dev/null -s {}

把需要检测的URL逐行写入url_list.txt,执行命令后即可批量输出每个URL的重定向次数和最终地址,非常适合网站巡检场景。

五、相关文章推荐

版权声明

本文仅代表个人观点。
本文系AI辅助作者原创,未经许可,转载请保留原文链接。

发表评论