如何通过单个curl命令获取网站的http转储和标头?

如何通过单个curl命令获取网站的http转储和标头?

我必须获取一个网站(可以使用 -L 进行多个重定向)并将 html 内容保存在名为的文件中[HTTP_Status_code]_[网站名称].html

目前我正在使用两个curl 调用,一个用于转储,另一个用于标头。有什么办法可以将它们合而为一吗?

脚本:

cat url_list.txt | while read line; do 
if curl  -L  $line -o `curl -I $line 2>/dev/null | head -n 1 | cut -d$' ' -f2`_`basename $line`.html 
 then
   :
 else
    echo $line >>error.txt
fi 
done

编辑:我必须找到最后一个重定向的标头。

答案1

关于什么

cat url_list.txt | while read line; do 
if curl  -D  tmp_status.txt -L  $line -o tmp_file.html 
then
   mv tmp_file.html $(awk '/HTTP/  { print $2}' tmp_status.txt)_$(basename $line)
else
   echo $line >>error.txt
   # processing from tmp_status
fi 
done
  • 只有一次curl调用,但是一个后处理......

相关内容