前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python实现一个简单的dnspod

python实现一个简单的dnspod

作者头像
py3study
发布2020-01-09 16:33:47
1.3K0
发布2020-01-09 16:33:47
举报
文章被收录于专栏:python3python3python3

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

dnspod api地址:https://www.dnspod.cn/docs/records.html#record-create

#!/usr/bin/env python
# -*- coding: utf-8 -*-
__author__ = 'chenmingle'

import urllib2
import urllib
import json
import time
import socket


public_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')
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-08-27 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档