当前位置: 首页 > 工具软件 > dnspod-python > 使用案例 >

ddnspod php 脚本_dnspod api调用脚本

宗政英才
2023-12-01

[root@localhost dnspod]# cat dnspod.sh

#!/bin/bash

function menu() {

clear

echo "*********************Dnspod************************"

echo "* 1,将加速乐cname批量修改到dnspod *"

echo "* 2, 将ip批量修改到dnspod*"

echo "* 3, 单个域名修改 *"

echo "* 4, 退出 *"

echo "***************************************************"

read -p "请输入编号: " number

read -p "请输入D令牌: " number2

}

while true

do

menu

case $number in

1)

python /python/saltnew/dnspod/dnspod.py batch_jiasule $number2

read -p "回车继续: ";;

2)

python /python/saltnew/dnspod/dnspod.py batch_dnspod $number2

read -p "回车继续: ";;

3)

python /python/saltnew/dnspod/dnspod.py none $number2

read -p "回车继续: ";;

*)

exit;;

esac

done

root@localhost dnspod]# cat dnspod.py

#!/bin/python

#-*- coding: utf-8 -*-

import urllib

import urllib2

import 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 (im@chuangbo.li; 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':'test@test.com','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+=1

Domain[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':'test@test.com','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+=1

batchlist[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':'test@test.com','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':'test@test.com','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':'test@test.com','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.txt

testtest 2.2.2.2

testtest2 1.1.1.1

jiasule.txt

testtest 767b885d566c6111.cdn.jiashule.com.

testtest2 b97c167111aba5dc.cdn.jiashule.com.

 类似资料: