JavaOdd
JavaOdd

Reputation: 75

Split Header and Content in curl

curl -L -i google.com

I want to split the HEADER and CONTENT from the response in two variables

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

I cant use these two becouse im going to use it with 10000+ links

Both Header and Content can have three or more blank lines, so spliting blank lines wont work everytime


I found the answer

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

This code works too

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)

Upvotes: 5

Views: 2506

Answers (1)

anubhava
anubhava

Reputation: 785068

You can use this script:

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)

Upvotes: 3

Related Questions