dnspod api呼叫指令碼

來源:互聯網
上載者:User

標籤:

[[email protected] dnspod]# cat dnspod.sh #!/bin/bashfunction menu() {clearecho "*********************Dnspod************************"echo "*       1,將加速樂cname批量修改到dnspod          *"echo "*       2, 將ip批量修改到dnspod*"echo "*       3, 單個網域名稱修改         *"echo "*       4, 退出             *"echo "***************************************************"read -p "請輸入編號: " numberread -p "請輸入D令牌: " number2}while truedomenucase $number in1)python /python/saltnew/dnspod/dnspod.py batch_jiasule $number2read -p "斷行符號繼續: ";;2)python /python/saltnew/dnspod/dnspod.py batch_dnspod $number2read -p "斷行符號繼續: ";;3)python /python/saltnew/dnspod/dnspod.py none $number2read -p "斷行符號繼續: ";;*)exit;;esacdone

  

[email protected] dnspod]# cat dnspod.py #!/bin/python#-*- coding: utf-8 -*-import urllibimport urllib2import os,sys,json,demjson,fileinput#處理post請求def post(url,data):    req = urllib2.Request(url)     headers = {"Content-type": "application/x-www-form-urlencoded", "Accept": "text/json", "User-Agent": "dnspod-python/0.01 ([email protected]; DNSPod.CN API v2.8)"}    data = urllib.urlencode(data,headers)     opener = urllib2.build_opener(urllib2.HTTPCookieProcessor())     response = opener.open(req, data)     return response.read()#主函數def main(batch,login_code):    #擷取網域名稱列表    posturlDomain=‘https://dnsapi.cn/Domain.List‘    dataDomain={‘login_email‘:‘[email protected]‘,‘login_password‘:‘123456‘,‘format‘:‘json‘,‘login_code‘:login_code}    Domain={}    records={}    number=0    numbertwo=0    batchlist={}    jiasulelist={}    dnspodlist={}    for i in demjson.decode(str(post(posturlDomain,dataDomain)))[u‘domains‘][:]:number+=1Domain[number]={str(i[u‘name‘]):str(i[u‘id‘])}    for key,value in Domain.items():print key,value    numb=input("please input number: ")    domain_number=Domain[numb].values()[0]        #擷取次層網域列表    posturlrecordlist=‘https://dnsapi.cn/Record.List‘    datarecordlist={‘login_email‘:‘[email protected]‘,‘login_password‘:‘123456‘,‘format‘:‘json‘,‘domain_id‘:domain_number,‘login_code‘:login_code}    for i in  demjson.decode(str(post(posturlrecordlist,datarecordlist)))[u‘records‘][:]:numbertwo+=1batchlist[i[u‘name‘]]=str(i[u‘id‘])records[numbertwo]={str(i[u‘name‘]):str(i[u‘id‘])}    #大量復原    if batch == "batch_jiasule":for line in fileinput.input("/python/saltnew/dnspod/jiasule.txt"):    name=line.strip(‘\n‘).split(‘ ‘)[0]    cname=line.strip(‘\n‘).split(‘ ‘)[1]    records_id=batchlist[name]    jiasulelist[name]={cname:records_id}    posturlmodify_batch=‘https://dnsapi.cn/Record.Modify‘    datamodify_batch={‘login_email‘:‘[email protected]‘,‘login_password‘:‘123456‘,‘format‘:‘json‘,‘domain_id‘:domain_number,‘sub_domain‘:name,‘record_type‘:‘CNAME‘,‘record_line‘:u‘預設‘.encode("utf8"),‘value‘:cname,‘record_id‘:records_id,‘login_code‘:login_code}    print post(posturlmodify_batch,datamodify_batch)sys.exit(1)     if batch == "batch_dnspod":        for line in fileinput.input("/python/saltnew/dnspod/dnspod.txt"):            name=line.strip(‘\n‘).split(‘ ‘)[0]            ip=line.strip(‘\n‘).split(‘ ‘)[1]            records_id=batchlist[name]            dnspodlist[name]={ip:records_id}            posturlmodify_dns=‘https://dnsapi.cn/Record.Modify‘            datamodify_dns={‘login_email‘:‘[email protected]‘,‘login_password‘:‘123456‘,‘format‘:‘json‘,‘domain_id‘:domain_number,‘sub_domain‘:name,‘record_type‘:‘A‘,‘record_line‘:u‘預設‘.encode("utf8"),‘value‘:ip,‘record_id‘:records_id,‘login_code‘:login_code}            print post(posturlmodify_dns,datamodify_dns)        sys.exit(1)    #單個修改    for key,value in records.items():print key,value    numb2=input("please input number: ")    records_number=records[numb2].values()[0]    records_name=records[numb2].keys()[0]    record_type=raw_input("請輸入記錄類型: ")    record_ip=raw_input("請輸入記錄值: ")        #修改某個次層網域的記錄類型與記錄值    posturlmodify=‘https://dnsapi.cn/Record.Modify‘    datamodify={‘login_email‘:‘[email protected]‘,‘login_password‘:‘123456‘,‘format‘:‘json‘,‘domain_id‘:domain_number,‘sub_domain‘:records_name,‘record_type‘:record_type,‘record_line‘:u‘預設‘.encode("utf8"),‘value‘:record_ip,‘record_id‘:records_number,‘login_code‘:login_code}    print post(posturlmodify,datamodify)if __name__ == ‘__main__‘:    main(sys.argv[1],sys.argv[2])

  

dnspod.txttesttest 2.2.2.2testtest2 1.1.1.1jiasule.txttesttest 767b885d566c6111.cdn.jiashule.com.testtest2 b97c167111aba5dc.cdn.jiashule.com.

  

dnspod api呼叫指令碼

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.