采用阿里的API进行动态域名解析
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import os
from aliyunsdkcore import client
from aliyunsdkcore.request import RpcRequest
product="Domain"
version="2016-05-11"
accesskey="XXXXXXXXXXXXXXXXXXXX" #请替换成自己的accesskey
accesspasswd="XXXXXXXXXXXXXXXXXXXXXXXXXXXX" #请替换成自己的accesspasswd def getip():
return os.popen("curl http://members.3322.org/dyndns/getip -s").read().replace('\n','').replace('\r\n','') def getDNSrecords():
global product,version,accesskey,accesspasswd
clt = client.AcsClient( accesskey, accesspasswd, 'cn-hangzhou')
request=RpcRequest('Alidns', '2015-01-09', 'DescribeDomainRecords')
request.add_query_param("DomainName","XXXXXXXXXXXXXXX") #请替换成自己的域名
request.set_accept_format('json')
response=clt.do_action(request)
return eval( response.replace('false','') ) def setDNSrecord(record,ip):
global product,version,accesskey,accesspassw
clt = client.AcsClient( accesskey, accesspasswd, 'cn-hangzhou')
request=RpcRequest('Alidns', '2015-01-09', 'UpdateDomainRecord')
request.add_query_param("RecordId",record['RecordId'])
request.add_query_param("RR",record['RR'])
request.add_query_param("Type",record['Type'])
request.add_query_param("Value",ip)
request.set_accept_format('json')
response=clt.do_action(request)
print response if __name__=="__main__":
ip=getip()
print ip
recordlist=getDNSrecords()
for record in recordlist["DomainRecords"]["Record"]:
setDNSrecord(record,ip)
最近在阿里注册了个域名,采用orangepi作自己的服务器,以前ddns用的nat123,但是感觉要注册很多东西,所以操作不是很方便,所以研究了下阿里的API,用python实现起来看着也比较简单,所以就搞了个脚本,实现了去DNS中更改域名的解析配置,这样当路由器断电后可以从服务器主动发起更高配置操作,把新的IP添加到域名解析中,以此实现动态域名解析。
网上也有几个版本的调用阿里API进行ddns的,不过代码有点长,所以自己写了一下,总共也就30几行吧,哈哈哈
采用阿里的API进行动态域名解析的更多相关文章
- 【终极版】利用阿里云云解析API实现动态域名解析(ddns),搭建私有服务器【含可执行文件和源码】
前言:懒人可以直接往下看,有代码和全部资源可以下载.此文章是先前文章的定时版,主要是添加了定时执行的功能,并且将代码中的配置项放置到了app.config文件中,方便不懂开发的朋友修改使用.未经许可请 ...
- 【升级版】如何使用阿里云云解析API实现动态域名解析,搭建私有服务器【含可执行文件和源码】
原文地址:http://www.yxxrui.cn/article/179.shtml 未经许可请勿转载,如有疑问,请联系作者:yxxrui@163.com 我遇到的问题:公司的网络没有固定的公网IP ...
- 如何使用阿里云云解析API实现动态域名解析,搭建私有服务器
原文地址:http://www.yxxrui.cn/article/116.shtml 未经许可请勿转载,如有疑问,请联系作者:yxxrui@163.com 公司的网络没有固定的公网IP地址,但是能够 ...
- 利用Python+阿里云实现DDNS(动态域名解析)
引子我想大家应该都很熟悉DNS了,这回在DNS前面加了一个D又变成了什么呢?这个D就是Dynamic(动态),也就是说,按照传统,一个域名所对应的IP地址应该是定死的,而使用了DDNS后,域名所对应的 ...
- 没固定公网 IP 的公司内网实现动态域名解析( 阿里云万网解析 )
情景说明 前段时间应公司需求,需要将内网的服务映射到公网.由于公司使用的是类似家庭宽带的线路,没有固定的公网 IP 地址,所以决定使用域名来完成. 当时有几种方案: 1.花生壳:但是目前需要乱七八糟的 ...
- 阿里云API网关(9)常见问题
网关指南: https://help.aliyun.com/document_detail/29487.html?spm=5176.doc48835.6.550.23Oqbl 网关控制台: https ...
- 用.NET做动态域名解析
用.NET做动态域名解析 动态域名解析,或DNSR,通常用于解析IP地址经常变化的域名.电信网络提供了公网IP,给广大程序员远程办公.内容分享等方面带来了极大的便利.但公网IP是动态的,它会经常变化, ...
- 利用用阿里云API实现DDNS
前言 之前动态域名解析是用的是腾达路由器上集成的第三方动态解析服务花生壳,解析费用一年40元.后来觉得域名前缀不好,想换掉,花生壳需要重新购买新的域名解析费用,增加1条或者2条动态解析无所谓,万一以后 ...
- shell脚本实现GoDaddy中IPv6的动态域名解析(DDNS)_可在路由中运行
首先谈一下个人的需求,家里路由拿到了运营商的外网ipv6地址,于是想着将路由的各种服务通过DDNS放到外网上来,这才有下面的动态域名解析折腾.废话不多说,进入正题. 1.首先在godaddy中注册域名 ...
随机推荐
- JavaScript链表
//实现列表类 function list() { this.listSize = 0;//元素个数 属性 this.pos = 0;//当前位置 属性 ...
- 3.Java异常进阶
3.JAVA异常进阶 1.Run函数中抛出的异常 1.run函数不会抛出异常 2.run函数的异常会交给UncaughtExceptionhandler处理 3.默认的UncaughtExceptio ...
- xor和gates的专杀脚本
前段时间的一次样本,需要给出专杀,应急中遇到的是linux中比较常见的两个家族gates和xor. 首先是xor的专杀脚本,xor样本查杀的时候需要注意的是样本的主进程和子进程相互保护(详见之前的xo ...
- iOS __weak __strong WeakSelf StrongSelf
在block中常常会用到self,可是会造成循环引用.这时候就需要这样来解决这个问题: #define WeakSelf __weak typeof(self) weakSelf = self #de ...
- 提高C#代码质量-规范
[规范习惯]命名规范1-命名空间 使用<Company>.<Component>2-程序集不必与命名空间同名3-命名空间使用附复数4-避免与FCL的类型重名5-类型名称用名词6 ...
- makefile 笔记
1.Makefile中命令前的@和-符号 如果make执行的命令前面加了@字符,则不显示命令本身而只显示它的结果; Android中会定义某个变量等于@,例如 hide:= @ 通常make执行的命令 ...
- 推流和拉流的概念以及RTMP和HLS协议
推流为将直播内容推送至服务器的过程:拉流为服务器已有直播内容,用指定地址进行拉取的过程. rtmp rtmp是Real Time Messaging Protocol(实时消息传输协议)的首字母缩写. ...
- django manytomany
转载:http://my.oschina.net/u/572994/blog/105280 例如有如下模型 models.py ? 1 2 3 4 5 6 7 from django.db impor ...
- MySQL查询语句(select)详解(1)
1.查询记录 select*from 表名 [where 条件];eg:select*from students;//查询 students 表中所有记录,所有字段的值都显示出来select fiel ...
- 判断.NET4.0是否安装
Clinet 和 Full存在一个都说明安装了Framework "SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Client"&qu ...