From e1f8521fdaa4c07a9fca9d7497755599fba6c4f5 Mon Sep 17 00:00:00 2001 From: Luke Bratch Date: Mon, 11 May 2015 15:23:06 +0100 Subject: Fix support for servers that don't support HTTP HEAD --- title.bash | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/title.bash b/title.bash index 7a44ca3..cb8b153 100755 --- a/title.bash +++ b/title.bash @@ -13,23 +13,28 @@ : update user agent string # v0.8.1: change name in version string to "blatitle" # v0.9 : add support for gzip compression +# v0.9.1: fix support for servers that don't support HTTP HEAD -OPTS='--location --insecure --silent --max-filesize 1048576 --max-time 10 -A "Mozilla/5.0 (X11; Linux x86_64; rv:36.0) Gecko/20100101 Firefox/36.0"' +OPTS='--location --insecure --silent --max-filesize 1048576 --max-time 10 -A "Mozilla/5.0 (X11; Linux x86_64; rv:36.0) Gecko/20100101 Firefox/36.0" -H "Accept-Encoding: gzip"' read url +TIME=$(date +%s%N) + +if [ -z "$TIME" ] +then + echo "Timestamp error" + exit 1 +fi + if [ "$url" == "-h" ] || [ "$url" == "--help" ] then echo "Usage: '!title ' where is an http:// or https:// URL" elif [ "$url" == "-v" ] || [ "$url" == "--version" ] then - echo "blatitle version 0.9" + echo "blatitle version 0.9.1" else - curl -I -H "Accept-Encoding: gzip" $OPTS "$url" | grep -q "Content-Encoding: gzip" - if [ "$?" == 0 ] - then - OPTS+=' -H "Accept-Encoding: gzip"' - GZIP="| gunzip" - fi - eval curl $OPTS "$url" $GZIP | sed -n -e 'H;${x;s!.*]*>\(.*\).*!\1!I;tnext};b;:next;s!.*\(.*\).*!\1!pI' | sed ':a;N;$!ba;s/\n//g' | sed -e 's/^[ \t]*//' + eval curl $OPTS -D /tmp/$TIME.header '$url' -o /tmp/$TIME.body.gz + grep -q "Content-Encoding: gzip" /tmp/$TIME.header && gunzip /tmp/$TIME.body.gz || mv /tmp/$TIME.body.gz /tmp/$TIME.body + sed -n -e 'H;${x;s!.*]*>\(.*\).*!\1!I;tnext};b;:next;s!.*\(.*\).*!\1!pI' /tmp/$TIME.body | sed ':a;N;$!ba;s/\n//g' | sed -e 's/^[ \t]*//' fi -- cgit v1.2.3