昊情· 发表于 2020-12-12 17:51:12

DNSPod动态DNS自动解析脚本

本帖最后由 90_ 于 2020-12-12 18:13 编辑

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



import requests
import json
import time
from requests.packages.urllib3.exceptions import InsecureRequestWarning
def host_ip():#查询IP,如在在多条不同运营商的线路情况下,使用了协议分流会出现浏览器得到正确的IP,curl和脚本得到不相同IP被协议限制了
    requests.packages.urllib3.disable_warnings(InsecureRequestWarning)
    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"}
    url ='https://10000.gd.cn/getClientIP.php?'

    lo = requests.get(url = url,headers = headers,verify=False)
    return lo.content.decode('utf-8')


def host_DDNS():#查询记录,使用前在控制台添加一条记录作为条件判断
    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"}
    url ='https://dnsapi.cn/Record.List'
    payload={"login_token":"XXX,XXXX","format":"json","domain":"visualiz.club"}
    lo = requests.post(url = url,headers = headers,data = payload)
    lo = json.loads(lo.text)
    return lo['records']['value'],lo['records']['id']




def host_DDNSx(id,ip):#修改记录
    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"}
    url ='https://dnsapi.cn/Record.Modify'
    payload={"login_token":"XXX,XXXX","format":"json","domain":"visualiz.club","record_id":id,
         "record_type":"A","record_line":"默认","value":ip,"mx":"1"}
    lo = requests.post(url = url,headers = headers,data = payload)
    print(time.strftime ('%Y-%m-%d %X'),'已修改记录')
while True:
   time.sleep(600)
    c = host_DDNS()
    v = host_ip()
    if c == v:
      pass
    else:
      host_DDNSx(c,v)
      
转载,请标注出处
页: [1]
查看完整版本: DNSPod动态DNS自动解析脚本