Python平台下调用阿里云API参数实现DDNS功能
来源:互联网 发布:苹果6韩版支持什么网络 编辑:程序博客网 时间:2024/05/24 06:15
注:经过查阅大量网页,汇总出Python平台下调用阿里云API参数实现DDNS功能,此功能可以直接替换掉向日葵(Oray)的DDNS服务。
Python平台下调用阿里云API参数实现DDNS功能
(本文前提是在阿里云购有域名)
1.安装Python 2.7(略)、阿里云api的python sdk
下载pip http://download.csdn.net/tag/get-pip.py
pip2.7 install aliyun-python-sdk-corepip2.7 install aliyun-python-sdk-alidns
2.Python下安装pip,在get-pip.py目录下运行
python get-pip.py
或者直接用 yum install python-pip -y
记录下Access Key ID与 Access Key Secret
4.将以下内容标红部分修改为自己的API,保存到记事本中,改名为UpgradeDNS.py
#coding:utf-8from aliyunsdkcore import clientfrom aliyunsdkalidns.request.v20150109 import DescribeDomainsRequest,DescribeDomainRecordsRequest,UpdateDomainRecordRequestimport json,urllib,re#替换以下参数ID="LTA***********"Secret="1xsU*****************"RegionId="cn-hangzhou"DomainName="y****en.cn"#想要自动修改的主机名和域名类型HostNameList = ["*"]Types = "A"clt = client.AcsClient(ID,Secret,RegionId)#获取公网ipdef GetLocalIP(): IPInfo = urllib.urlopen("http://ip.chinaz.com/getip.aspx").read() IP = re.findall(r"ip:'(.*?)',", IPInfo)[0] return IP#获取域名列表(暂时无用)def GetDomainList(): DomainList = DescribeDomainsRequest.DescribeDomainsRequest() DomainList.set_accept_format('json') DNSListJson = json.loads(clt.do_action_with_exception(DomainList)) print DNSListJson#更新域名ipdef EditDomainRecord(HostName, RecordId, Types, IP): UpdateDomainRecord = UpdateDomainRecordRequest.UpdateDomainRecordRequest() UpdateDomainRecord.set_accept_format('json') UpdateDomainRecord.set_RecordId(RecordId) UpdateDomainRecord.set_RR(HostName) UpdateDomainRecord.set_Type(Types) UpdateDomainRecord.set_TTL('600') UpdateDomainRecord.set_Value(IP) UpdateDomainRecordJson = json.loads(clt.do_action_with_exception(UpdateDomainRecord)) print UpdateDomainRecordJson#获取域名信息def GetAllDomainRecords(DomainName, Types, IP): DomainRecords = DescribeDomainRecordsRequest.DescribeDomainRecordsRequest() DomainRecords.set_accept_format('json') DomainRecords.set_DomainName(DomainName) DomainRecordsJson = json.loads(clt.do_action_with_exception(DomainRecords)) for HostName in HostNameList: for x in DomainRecordsJson['DomainRecords']['Record']: RR = x['RR'] Type = x['Type'] if RR == HostName and Type == Types: RecordId = x['RecordId'] print RecordId EditDomainRecord(HostName, RecordId, Types, IP)IP = GetLocalIP()GetDomainList()GetAllDomainRecords(DomainName, Types, IP)
4.在Python下执行py代码
python UpgradeDNS.py
5.在服务器上通过 corntab 设置一项定时计划,让服务器定期执行该脚本。 linux 设置定时计划命令:
crontab -e
阅读全文
0 0
- Python平台下调用阿里云API参数实现DDNS功能
- 调用阿里云短信服务平台API实现ERP系统短信发送功能
- 腾讯云cdn自动刷新api调用功能实现-python
- python 阿里云DNS解析作为DDNS使用
- docker定时更新动态拨号IP到阿里云云解析,实现动态域名解析DDNS功能
- 调用API在Android平台下实现音视频通信
- 直接调用阿里云视频点播API实现视频播放
- 阿里云CDN API调用
- 调用API实现天气预报功能!
- 调用API实现天气预报功能
- DDNS动态域名解析功能与实现设置
- 阿里云市场API功能试用
- Anyka云平台调用api
- 阿里云短信发送API接口调用
- Android平台上实现身份证识别(通过阿里云Api-印刷文字识别_身份证识别)
- Android平台上实现银行卡识别(通过阿里云Api-印刷文字识别_银行卡识别)
- 调用API在安卓平台下实现音视频即时通讯交流
- Vfp 调用 API 实现 RunAs 功能
- Ubuntu14.04 安装 Nvidia显卡驱动
- 00-Linux下安装jdk
- fputc函数
- 剑指offer--链表中环的入口结点
- ros海龟例子
- Python平台下调用阿里云API参数实现DDNS功能
- netty(六) 为什么选择netty
- Linux与Shell脚本应用
- 【机器学习】为什么你编程学得越久,就越难入门人工智能?
- 创建DLL详解(2)
- 恶意样本分析手册-虚拟机检测篇(下)
- Ubuntu安装NVIDIA驱动补充
- java并发工具CountDownLatch的理解以及使用
- 2017.08.14工作日记