Board logo

标题: DNSPod动态IP解析更新程序 [打印本页]

作者: look_w    时间: 2018-12-14 15:04     标题: DNSPod动态IP解析更新程序

脚本是Python写的,树莓派上可直接运行。
#!/usr/bin/env python#-*- coding:utf-8 -*-import httplib, urllibimport socketimport timeparams = dict(    login_email="email", # replace with your email    login_password="password", # replace with your password    format="json",    domain_id=100, # replace with your domain_od, can get it by API Domain.List    record_id=100, # replace with your record_id, can get it by API Record.List    sub_domain="www", # replace with your sub_domain    record_line="默认",)current_ip = Nonedef ddns(ip):    params.update(dict(value=ip))    headers = {"Content-type": "application/x-www-form-urlencoded", "Accept": "text/json"}    conn = httplib.HTTPSConnection("dnsapi.cn")    conn.request("POST", "/Record.Ddns", urllib.urlencode(params), headers)        response = conn.getresponse()    print response.status, response.reason    data = response.read()    print data    conn.close()    return response.status == 200def getip():    sock = socket.create_connection(('ns1.dnspod.net', 6666))    ip = sock.recv(16)    sock.close()    return ipif __name__ == '__main__':    while True:        try:            ip = getip()            print ip            if current_ip != ip:                if ddns(ip):                    current_ip = ip        except Exception, e:            print e            pass        time.sleep(30)

替换上你的Email,密码,域名ID,记录ID等参数,就可以运行了。 会在后台一直运行,每隔30秒检查一遍IP,如果修改了就更新IP。
获得domain_id可以用
curl curl -k https://dnsapi.cn/Domain.List -d "login_email=xxx&login_password=xxx"获得record_id类似
curl -k https://dnsapi.cn/Record.List -d "login_email=xxx&login_password=xxx&domain_id=xxx"加入开机自动运行的方法:
编辑/etc/rc.local文件,在“exit 0”那一行前面加上一行
su root -c "python /home/pypod.py"




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0