发现之前有网友发的过期了
写的也很不好用。
百度智能云解析DNS python版api ddns实现2023-12最新
import hmac
import time
import requests
#把*****星号改成自己的就行了
host="dns.baidubce.com"
yourdomin="****.com"
AK='*******************************'
SK="*******************************"
url=f"/v1/dns/zone/{yourdomin}/record"
def getheaders(method,url):
utc=time.strftime('%Y-%m-%dT%H:%M:%SZ',time.gmtime())
quoteutc=utc.replace(":","%3A")
key=hmac.new(SK.encode(),f"bce-auth-v1/{AK}/{utc}/1800".encode(),digestmod="SHA256").hexdigest()
message=f"""{method}\n{url}\n\nhost:{host}\nx-bce-date:{quoteutc}"""
signature=hmac.new(key.encode(),message.encode(),digestmod="SHA256").hexdigest()
Authorization=f"bce-auth-v1/{AK}/{utc}/1800/host;x-bce-date/"+signature
headers={
"x-bce-date":utc,
'Authorization':Authorization
}
return headers
def 查询():
headers=getheaders("GET",url)
res=requests.get(f"http://{host}"+url,headers=headers).json()
print(res)
return res
def 添加(ip):
cids=查询()
cid=cids.get("records")[0]["id"]
headers=getheaders("PUT",url+"/"+cid)
data={
"rr":"@",
"type":"AAAA",
"value":ip,
"ttl": 300
}
res=requests.put(f"http://{host}"+url+"/"+cid,json=data,headers=headers).text
print(res)
return res
def getipv6():
return '0000:0000:7c0:cb17:a000:0000:fe50:6cc2'
添加(getipv6())
#接口地址:https://cloud.baidu.com/doc/DNS/s/El4s7lssr
【禁止转载】