前提条件
已经在 qcloud 上注册了域名, 并随意定义了域名解析地址;
拥有云 API 秘钥, SecretId,SecretKey;
拥有可外网访问的 IP 地址;
Linux 可以访问外网.
获取解析记录
- #!/bin/bash
- domain='你的域名, 例如 qq.com'
- subDomain='你希望解析的子域名, 例如 wx.qq.com, 则只输入 wx'
- sId='你的云 API 秘钥 SecretId'
- sKey='你的云 API 秘钥 SecretKey'
- 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" $action $nonce $region $sId $signatureMethod $timestamp $domain`
- #echo 'src:' $src
- signature=`echo -n $src|openssl dgst -sha1 -hmac $sKey -binary |base64`
- #echo 'signature:' $signature
- params=`printf "Action=%s&domain=%s&Nonce=%s&Region=%s&SecretId=%s&Signature=%s&SignatureMethod=%s&Timestamp=%s" $action $domain $nonce $region $sId "$signature" $signatureMethod $timestamp `
- #echo 'params:' $params
- curl -G -d "$params" --data-urlencode "Signature=$signature" "$url"
来源: https://www.qcloud.com/developer/article/1598556