在curl中拆分标题和内容

时间:2016-01-05 19:47:13

标签: linux bash shell curl http-headers

curl -L -i google.com

我想在两个变量

中将HEADER和CONTENT从响应中分离出来
curl -I google.com
curl -L google.com

我不能使用这两个因为我将使用10000+链接

标题和内容都可以包含三个或更多空行,因此每次分割空白行都不会有效

我找到了答案

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

此代码也适用

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

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

1 个答案:

答案 0 :(得分:0)

您可以使用此脚本:

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

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