请选择 进入手机版 | 继续访问电脑版
查看: 4877|回复: 1

[Python] DNSPod动态DNS自动解析脚本

[复制链接]
  • TA的每日心情
    奋斗
    2021-6-3 13:28
  • 签到天数: 548 天

    [LV.9]以坛为家II

    发表于 2020-12-12 17:51:12 | 显示全部楼层 |阅读模式
    本帖最后由 90_ 于 2020-12-12 18:13 编辑

    对于,有个别朋友有公网IP光猫拨号的环境下可尝试修改使用



    1. import requests
    2. import json
    3. import time
    4. from requests.packages.urllib3.exceptions import InsecureRequestWarning
    5. def host_ip():#查询IP,如在在多条不同运营商的线路情况下,使用了协议分流会出现浏览器得到正确的IP,curl和脚本得到不相同IP被协议限制了
    6.     requests.packages.urllib3.disable_warnings(InsecureRequestWarning)
    7.     headers = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36"}
    8.     url ='https://10000.gd.cn/getClientIP.php?'

    9.     lo = requests.get(url = url,headers = headers,verify=False)
    10.     return lo.content[3:].decode('utf-8')


    11. def host_DDNS():#查询记录,使用前在控制台添加一条记录作为条件判断
    12.     headers = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36"}
    13.     url ='https://dnsapi.cn/Record.List'
    14.     payload={"login_token":"XXX,XXXX","format":"json","domain":"visualiz.club"}
    15.     lo = requests.post(url = url,headers = headers,data = payload)
    16.     lo = json.loads(lo.text)
    17.     return lo['records'][0]['value'],lo['records'][0]['id']




    18. def host_DDNSx(id,ip):#修改记录
    19.     headers = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36"}
    20.     url ='https://dnsapi.cn/Record.Modify'
    21.     payload={"login_token":"XXX,XXXX","format":"json","domain":"visualiz.club","record_id":id,
    22.          "record_type":"A","record_line":"默认","value":ip,"mx":"1"}
    23.     lo = requests.post(url = url,headers = headers,data = payload)
    24.     print(time.strftime ('%Y-%m-%d %X'),'已修改记录')
    25. while True:
    26.      time.sleep(600)
    27.     c = host_DDNS()
    28.     v = host_ip()
    29.     if c[0] == v:
    30.         pass
    31.     else:
    32.         host_DDNSx(c[1],v)
    33.       
    复制代码

    转载,请标注出处
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    快速回复 返回顶部 返回列表