#!/bin/bash
dts=$(date +%s)
Interval=1 #初始间隔
large0=32#最大间隔
Max=500 #最大运行时长(s)
until [[ $res != "" ]]
do
dt=$(env LANG=en_US.UTF-8 date -u '+%a, %d %b %Y %T GMT')
#说明1:下面这行:var=$(这里是你自己复制出来的cURL,类似'Date: Sun, 31 Mar 19:17:44 GMT'的部分替换成"Date:${dt}",注意单双引号不同,修改后必须是双引号)
var=$(curl -H 'Host: api.' -H 'Accept: */*' -H 'sessionKey: ********************' -H 'Accept-Language: zh-cn' -H 'Signature: ***********************' -H "Date:${dt}" -H 'User-Agent: Cloud189/5 CFNetwork/978.0.7 Darwin/18.5.0' -H 'Cookie: JSESSIONID=********************' --data "qosClientSn=***************************4059900795&clientType=TELEIPHONE&version=7.3.3&model=iPhone&osFamily=iOS&osVersion=12.2&clientSn=*******************************" --compressed 'https***api./speed/startSpeedV2.action' )
#下面这行的"dialAccount"是提速成功后response里的关键词,用来确认提速成功,不成功将会重试
res=$(echo "${var}" | grep "dialAccount")
echo -e $(date "+%Y-%m-%d %H:%M:%S") ",loop," $var >> /lib/speed/speedDo2.log
if [[ $(($(date +%s) - $dts)) -gt ${Max} ]]; then
echo "已经超过${Max}秒,自动结束"
break
elif [[ ${Interval} -gt ${large0} ]]; then
#statements
sleep 32
else
sleep ${Interval}
fi
Interval=$(($Interval*2))
done
echo -e $(date "+%Y-%m-%d %H:%M:%S") "ok" $var