采用阿里的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中注册域名 ...
随机推荐
- VR系统的组成
转载请声明转载地址:http://www.cnblogs.com/Rodolfo/,违者必究. 一个典型的虚拟现实系统主要由计算机.输入/输出设备.应用软件和数据库等部分组成. 1.计算机 在虚拟现实 ...
- ElasticSearch(站内搜索)
简介 Elasticsearch是一个实时的分布式搜索和分析引擎.它可以帮助你用前所未有的速度去处理大规模数据.它可以用于全文搜索,结构化搜索以及分析,当然你也可以将这三者进行组合.Elasticse ...
- ubuntu下安装myeclipse 并设置快捷键
官网下载:http://www.myeclipseide.com/ 安装myeclipse ctrl+alt+t打开终端,切换到myeclipse所在路径: -$ cd 下载/ 设置myeclipse ...
- 使用urllib2打开网页的三种方法
#coding:utf-8 import urllib2 import cookielib url="http://www.baidu.com" print '方法 1' resp ...
- Daily Scrum Meeting ——SecondDay
一.Daily Scrum Meeting照片 二.Burndown Chart 燃尽图是的粒度较大,今天并没完成具体的issues 三.项目进展 1.完成侧滑框,测试功能中 放张图 2.M层,编写参 ...
- DOTA 2 API(个人资料)
获取个人资料 http://wiki.teamfortress.com/wiki/WebAPI/GetPlayerSummaries 获取个人库存 http://wiki.teamfortress.c ...
- 【贪心】POJ 1065
头一次接触POJ,然后写了自己比较擅长的贪心. 解题思路大概就是从小排(这个很重要,然后用cmp随便长度或者重量的排序,选择最小的开始) 直到所有比他weight大的,没有符合条件的了.就代表要再加一 ...
- macos开发pgsql数据库
mac安装Postgresql作为数据库 最简单的方式是安装Postgres.App. 这个应用里自带了最新版本的PostgreSQL而且不需要学习数据库服务器启动和关闭的命令.程序安好后(别忘了拖拽 ...
- iOS 常用的向上,向下取整, 四舍五入函数
向上取整:ceil(x),返回不小于x的最小整数; 向下取整:floor(x),返回不大于x的最大整数; 四舍五入:round(x) 截尾取整函数:trunc(x)
- 启动 apache2.4 出现 invalid command order 问题 【由于 PHP 访问权限 403 问题引起】
由于网站出现 403 禁止访问,所以修改了 httpd.conf 文件的权限如下 <Directory /> Options FollowSymLinks AllowOverride N ...