实现一个简单的dnspod解析api:

dnspod api地址:

#!/usr/bin/env python# -*- coding: utf-8 -*-__author__ = 'chenmingle'import urllib2import urllibimport jsonimport timeimport socketpublic_dic={}public_dic["login_token"]=("%s,%s" % ('access_id','access_key'))public_dic["format"]="json"headers={}headers["User-Agent"]="Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36"def getDomainID(domain):    url="https://dnsapi.cn/Domain.INFO"    info=public_dic.copy()    info["domain"]=domain    request=urllib2.Request(url,headers=headers,data=urllib.urlencode(info))    response=urllib2.urlopen(request)    formatJson=json.load(response)#    print formatJson["domain"]['id']#    print formatJson["domain"]    if formatJson["status"]["code"]!="1":        return 0    else:        return formatJson["domain"]["id"]    pass        def getRecordList(domain_id):    url="https://dnsapi.cn/Record.List"    info=public_dic.copy()    info["domain_id"]=domain_id    request=urllib2.Request(url,headers=headers,data=urllib.urlencode(info))    response=urllib2.urlopen(request)    dnsJson=json.load(response)#    print dnsJson    for i in dnsJson['records']:        print i['id'],i['type'],i['name'],i['line'],i['line_id'],i['value'],i['ttl'],i['enabled']                def getRecordID(domain_id,record,line_id):    url="https://dnsapi.cn/Record.List"    info=public_dic.copy()    info["domain_id"]=domain_id    info["sub_domain"]=record    request=urllib2.Request(url,headers=headers,data=urllib.urlencode(info))    response=urllib2.urlopen(request)    dnsJson=json.load(response)#    print dnsJson    for i in dnsJson['records']:        if i['line_id'] == line_id:            print i['id'],i['type'],i['name'],i['line'],i['value'],i['ttl'],i['status']                        def createRecord(domain_id,sub_domain,record_type,record_line_id,value):    url="https://dnsapi.cn/Record.Create"    info=public_dic.copy()    info['domain_id']=domain_id    info['sub_domain']=sub_domain    info['record_type']=record_type    info['record_line_id']=record_line_id    info['value']=value    request=urllib2.Request(url,headers=headers,data=urllib.urlencode(info))    response=urllib2.urlopen(request)    dnsJson=json.load(response)    print dnsJson        def updateRecord(domain_id,sub_domain,record_type,record_line_id,value):    url="https://dnsapi.cn/Record.List"    info=public_dic.copy()    info["domain_id"]=domain_id    request=urllib2.Request(url,headers=headers,data=urllib.urlencode(info))    response=urllib2.urlopen(request)    dnsJson=json.load(response)    for i in dnsJson['records']:        if i['name'] == sub_domain and i['line_id'] == record_line_id:        record_id=i['id']                print record_id    url="https://dnsapi.cn/Record.Modify"    info=public_dic.copy()    info['domain_id']=domain_id    info['record_id']=record_id    info['sub_domain']=sub_domain    info['record_type']=record_type    info['record_line_id']=record_line_id    info['value']=value    request=urllib2.Request(url,headers=headers,data=urllib.urlencode(info))    response=urllib2.urlopen(request)    dnsJson=json.load(response)    print dnsJson        def updateRecordLine(domain_id,sub_domain,record_type,line_id,record_line_id,value):    url="https://dnsapi.cn/Record.List"    info=public_dic.copy()    info["domain_id"]=domain_id    request=urllib2.Request(url,headers=headers,data=urllib.urlencode(info))    response=urllib2.urlopen(request)    dnsJson=json.load(response)    for i in dnsJson['records']:        if i['name'] == sub_domain and i['line_id'] == line_id:                record_id=i['id']                print record_id    url="https://dnsapi.cn/Record.Modify"    info=public_dic.copy()    info['domain_id']=domain_id    info['record_id']=record_id    info['sub_domain']=sub_domain    info['record_type']=record_type    info['record_line_id']=record_line_id    info['value']=value    request=urllib2.Request(url,headers=headers,data=urllib.urlencode(info))    response=urllib2.urlopen(request)    dnsJson=json.load(response)    print dnsJson        def statusRecord(domain_id,sub_domain,record_line_id,status):    url="https://dnsapi.cn/Record.List"    info=public_dic.copy()    info["domain_id"]=domain_id    request=urllib2.Request(url,headers=headers,data=urllib.urlencode(info))    response=urllib2.urlopen(request)    dnsJson=json.load(response)    for i in dnsJson['records']:        if i['name'] == sub_domain and i['line_id'] == record_line_id:                record_id=i['id']    url="https://dnsapi.cn/Record.Status"    info=public_dic.copy()    info['domain_id']=domain_id    info['record_id']=record_id    info['status']=status    request=urllib2.Request(url,headers=headers,data=urllib.urlencode(info))    response=urllib2.urlopen(request)    dnsJson=json.load(response)    print dnsJson        def deleteRecord(domain_id,sub_domain,record_line_id):    url="https://dnsapi.cn/Record.List"    info=public_dic.copy()    info["domain_id"]=domain_id    request=urllib2.Request(url,headers=headers,data=urllib.urlencode(info))    response=urllib2.urlopen(request)    dnsJson=json.load(response)    for i in dnsJson['records']:        if i['name'] == sub_domain and i['line_id'] == record_line_id:                record_id=i['id']    url="https://dnsapi.cn/Record.Remove"    info=public_dic.copy()    info['domain_id']=domain_id    info['record_id']=record_id    request=urllib2.Request(url,headers=headers,data=urllib.urlencode(info))    response=urllib2.urlopen(request)    dnsJson=json.load(response)    print dnsJson        id = getDomainID('xxx.com')getRecordList(id)#getRecordID(id,'cml','10=1')#createRecord(id,'cml','A','0','*.*.*.*')#updateRecordLine(id,'cml','A','10=1','10=1','*.*.*.*')#statusRecord(id,'cml','10=1','enabled')#deleteRecord(id,'cml','10=1')