domain='kkxx.com'
subDomain='test'
sId='AKID****************'
sKey='g********************'
signatureMethod='HmacSHA1'
timestamp=`date +%s`
nonce=`head -200 /dev/urandom | cksum | cut -f2 -d" "`
region=bj
url='https://cns.api.qcloud.com/v2/index.php'
#获取域名解析条目ID:recordId
action='RecordList'
src=`printf "GETcns.api.qcloud.com/v2/index.php?Action=%s&Nonce=%s&Region=%s&SecretId=%s&SignatureMethod=%s&Timestamp=%s&domain=%s&subDomain=%s" $action $nonce $region $sId $signatureMethod $timestamp $domain $subDomain`
signature=`echo -n $src|openssl dgst -sha1 -hmac $sKey -binary |base64`
params=`printf "Action=%s&domain=%s&Nonce=%s&Region=%s&SecretId=%s&SignatureMethod=%s&Timestamp=%s&subDomain=%s" $action $domain $nonce $region $sId $signatureMethod $timestamp $subDomain`
resdomain=`curl -G -d "$params" --data-urlencode "Signature=$signature" "$url"`
recordId=`echo $resdomain | sed 's/.*records":\[{"id":\([0-9]*\).*/\1/g'`
revalue=`echo $resdomain | sed 's/.*value":"\([0-9]*\.[0-9]*\.[0-9]*\.[0-9]*\)",.*/\1/g'` #dns服务器解析地址
timestamp=`date +%s`
nonce=`head -200 /dev/urandom | cksum | cut -f2 -d" "`
#获取ip
ipstr=`curl https://pv.sohu.com/cityjson?ie=utf-8`
ipnow=`echo $ipstr |sed 's/.*"\([0-9]*\.[0-9]*\.[0-9]*\.[0-9]*\)",.*/\1/g'`
if test $ipnow != $revalue;then
action='RecordModify'
recordType='A'
recordLine='默认'
value=$ipnow
timestamp=`date +%s`
nonce=`head -200 /dev/urandom | cksum | cut -f2 -d" "`
src=`printf "GETcns.api.qcloud.com/v2/index.php?Action=%s&Nonce=%s&Region=%s&SecretId=%s&SignatureMethod=%s&Timestamp=%s&domain=%s&recordId=%s&recordLine=%s&recordType=%s&subDomain=%s&value=%s" $action $nonce $region $sId $signatureMethod $timestamp $domain $recordId $recordLine $recordType $subDomain $value`
signature=`echo -n $src|openssl dgst -sha1 -hmac $sKey -binary |base64`
params=`printf "Action=%s&Nonce=%s&Region=%s&SecretId=%s&SignatureMethod=%s&Timestamp=%s&domain=%s&recordId=%s&recordLine=%s&recordType=%s&subDomain=%s&value=%s" $action $nonce $region $sId $signatureMethod $timestamp $domain $recordId $recordLine $recordType $subDomain $value`
curl -G -d "$params" --data-urlencode "Signature=$signature" "$url"
fi