麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > Python > 正文

Python腳本實現DNSPod DNS動態解析域名

2020-02-23 06:26:21
字體:
來源:轉載
供稿:網友

閑暇之余,在家里自建了個服務器,因為用的小區寬帶,IP位動態分配。域名解析就是個問題,我的域名一般停放在DNSPod下。DNSPod有提供修改的API,就用Python簡單的實現了一下動態解析。這樣,就不用安裝花生殼了。 廢話不說,看代碼:

#!/usr/bin/env python#-*- coding:utf-8 -*-import httplib, urllib, urllib2import timeimport sys,osimport reimport jsonusername = 'xxxx' #賬號password = 'xxx' #密碼format = 'json'domain = [u'www.youdomain.com'] #要解析的域名def get_domain_info(domain):  domain_split = domain.split('.')  domain_split_len = len(domain_split)  maindomain = domain_split[domain_split_len - 2] + '.' + domain_split[domain_split_len - 1]  return maindomain,domainparams = {'login_email':username,'login_password':password,'format':format}def request(action, params, method = 'POST'):  headers = {"Content-type": "application/x-www-form-urlencoded", "Accept": "text/json"}  conn = httplib.HTTPSConnection("dnsapi.cn")  conn.request(method, '/' + action, urllib.urlencode(params), headers)  response = conn.getresponse()  data = response.read()  conn.close()  if response.status == 200:    return data  else:    return Nonedef get_my_domain_id():  data = request('Domain.List',params)  data = json.loads(data)  domainlist = data.get('domains')  domaninfo = {}  for d in domainlist:    domaninfo[d.get('name')] = d.get('id')  return domaninfodef get_my_domain_record_id(domain_id):  params['domain_id'] = domain_id  data = request('Record.List',params)  data = json.loads(data)  if data.get('code') == '10':    return None  domainname = data.get('domain').get('name')  record_list = data.get('records')  record = {}  for r in record_list:    if r.get('type') == 'A':      key = r.get('name') != '@' and r.get('name') + '.' + domainname or domainname      record[key] = {'id':r.get('id'),'value':r.get('value')}  return recorddef changerecord(domain,domain_id,record_id,ip):  params['domain_id'] = domain_id  params['record_id'] = record_id  params['record_type'] = 'A'  params['record_line'] = '默認'  params['sub_domain'] = domain  params['ttl'] = 600  params['value'] = ip  data = request('Record.Modify',params)def getip():  url = 'http://iframe.ip138.com/ic.asp'  response = urllib2.urlopen(url)  text = response.read()  ip = re.findall(r'/d+./d+./d+./d+', text)  return ip[0] or Nonedef updatedomaininfo(domain):  m,sub_m = get_domain_info(domain)  domain_id = my_domain_id_list.get(m)  record_list = get_my_domain_record_id(domain_id)  if record_list == None:    return None  rocord_info = record_list.get(sub_m)  record_ip = rocord_info.get('value')  record_id = rocord_info.get('id')  return sub_m,record_ip,record_id,domain_idif __name__ == '__main__':  my_domain_id_list = get_my_domain_id()  try:    for dm in domain:      domaindata = updatedomaininfo(dm)      if domaindata == None:        continue      dnsdomain,dnsdmainip,record_id,domain_id = domaindata      domain_name = dnsdomain.split('.')[0]      ip = getip()      if ip == dnsdmainip:        continue      else:        changerecord(domain_name,domain_id,record_id,ip)  except:    pass            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: jizzjizz中国少妇中文 | 久久久久久久九九九九 | 99精品电影 | 美女毛片儿 | 一区二区三区视频在线观看 | 日韩美香港a一级毛片 | 久久精品视频亚洲 | 黄网站免费在线看 | www69xxxxx| 精品一区二区三区免费毛片爱 | 亚洲性一区 | 黄色一级片在线观看 | 色污视频在线观看 | 久久一级 | 中文字幕在线观看网址 | 国产日产精品久久久久快鸭 | 久久日韩在线 | 黄色网址电影 | 免费播放欧美毛片 | 精品中文字幕久久久久四十五十骆 | 欧美一级黄色网 | 国产精品久久久久久久娇妻 | 久久精品电影网 | www.99av| 久久久一区二区三区四区 | 国产亚洲高清在线精品不卡 | 免费看黄色一级大片 | 欧美在线观看视频一区二区 | 成人在线视频黄色 | 欧美一级小视频 | 中文字幕在线视频日本 | 羞羞视频免费观看网站 | 成人在线观看地址 | 国产午夜精品久久久久久免费视 | 国产精品视频免费网站 | 中文字幕在线观看网址 | 国产乱淫av片免费网站 | 高清成人在线 | 性欧美极品xxxx欧美一区二区 | 久久精品国产一区二区电影 | 操碰网 |