在 curl 中拆分 Header 和内容

Split Header and Content in curl

curl -L -i google.com

我想将响应中的 HEADER 和 CONTENT 拆分为两个变量

curl -I google.com
curl -L google.com

我不能使用这两个,因为我要将它与 10000 多个链接一起使用

Header 和 Content 都可以有三个或更多空行,所以每次拆分空行都行不通


我找到了答案

b=$(curl -LsD h google.com)
h=$(<h)
echo "$h$b"

此代码也有效

curl -sLi google.com | 
awk -v bl=1 'bl{bl=0; h=([=14=] ~ /HTTP\/1/)} /^\r?$/{bl=1} {print [=14=]>(h?"header":"body")}'

header=$(<header)
body=$(<body)

您可以使用这个脚本:

curl -sLi google.com | 
   awk -v bl=1 'bl{bl=0; h=([=10=] ~ /HTTP\/1/)} /^\r?$/{bl=1} {print [=10=]>(h?"header":"body")}'

header=$(<header)
body=$(<body)