2026.06.04 | youres | 21次围观
为什么要把curl批量重定向检测结果输出成HTML报告?
在做网站巡检的时候,我们经常会用curl批量检测重定向状态,之前分享过输出CSV、Excel、JSON的方法,但这些都是结构化数据,非技术人员打开之后很难快速看懂问题。而HTML报告可以加入样式、交互功能,让巡检结果一目了然,也方便直接发给客户或者团队查看。
实战脚本一:基础版HTML报告生成(含核心检测指标)
这个脚本会批量检测URL列表里的重定向状态,生成包含URL、HTTP状态码、重定向次数、最终URL的HTML报告,适合快速查看核心指标。
# URL列表文件,每行一个URL
URL_FILE="url_list.txt"
# 输出HTML报告文件
REPORT_FILE="redirect_report_$(date +%Y%m%d).html"
# 生成HTML头部
echo "<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>网站重定向检测报告</title>
<style>
table { border-collapse: collapse; width: 100%; }
th, td { border: 1px solid #ddd; padding: 8px; text-align: left; }
th { background-color: #f2f2f2; }
.status-2xx { color: green; }
.status-3xx { color: orange; }
.status-4xx { color: red; }
.status-5xx { color: purple; }
</style>
</head>
<body>
<h1>网站重定向检测报告</h1>
<p>生成时间:$(date "+%Y-%m-%d %H:%M:%S")</p>
<table>
<tr>
<th>序号</th>
<th>检测URL</th>
<th>HTTP状态码</th>
<th>重定向次数</th>
<th>最终URL</th>
</tr>" > "$REPORT_FILE"
# 遍历URL列表
count=1
while IFS= read -r url; do
# 获取HTTP状态码、重定向次数、最终URL
status_code=$(curl -o /dev/null -s -w "%{http_code}" -L "$url")
redirect_count=$(curl -o /dev/null -s -w "%{num_redirects}" "$url")
final_url=$(curl -o /dev/null -s -w "%{url_effective}" -L "$url")
# 判断状态码样式类
if [[ $status_code == 2* ]]; then
status_class="status-2xx"
elif [[ $status_code == 3* ]]; then
status_class="status-3xx"
elif [[ $status_code == 4* ]]; then
status_class="status-4xx"
else
status_class="status-5xx"
fi
# 追加表格行
echo "<tr>
<td>$count</td>
<td>$url</td>
<td class="$status_class">$status_code</td>
<td>$redirect_count</td>
<td>$final_url</td>
</tr>" >> "$REPORT_FILE"
((count++))
done < "$URL_FILE"
# 生成HTML尾部
echo "</table>
</body>
</html>" >> "$REPORT_FILE"
echo "HTML报告生成完成:$REPORT_FILE"
实战脚本二:进阶版(加入可视化样式和统计摘要)
在基础版上增加统计摘要,比如总检测数、正常数、异常数,同时优化表格样式,让报告更专业。
进阶版在基础版的样式里增加统计摘要样式,生成报告时先统计总检测数、正常数、异常数,在表格前展示,让报告更直观。
实战脚本三:高级版(加入交互功能)
高级版可以加入JavaScript实现按状态码筛选、按重定向次数排序的功能,适合大规模巡检场景,交互体验更好。
相关文章推荐
- curl批量检测重定向输出CSV格式化方法:3个实战脚本让网站巡检结果一目了然
- curl批量检测重定向结果导出Excel方法:3种方案让巡检报告专业又规范
- curl批量检测重定向输出JSON格式:3个实战脚本让巡检结果结构化存储
以上就是3个实用的curl批量检测重定向输出HTML报告的思路,你可以根据自己的需求调整脚本,生成符合需求的巡检报告。
版权声明
本文仅代表个人观点。
本文系AI辅助作者原创,未经许可,转载请保留原文链接。

发表评论