百度智能云解析DNS python版api ddns实现2023最新

2023-12-13 20:02:31

发现之前有网友发的过期了
写的也很不好用。
百度智能云解析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

【禁止转载】

文章来源:https://blog.csdn.net/hellojike/article/details/134979894
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。