跳至正文
-
Subscribe to our newsletter & never miss our best posts. Subscribe Now!
BG6RSH's 随记.

我们总是在感叹昨天,忽视今天,幻想着明天中渡过,且过且珍惜.....

BG6RSH's 随记.

我们总是在感叹昨天,忽视今天,幻想着明天中渡过,且过且珍惜.....

  • 首页
  • 论坛
  • 随记
  • 编程
  • 软件
  • 留言
  • 首页
  • 论坛
  • 随记
  • 编程
  • 软件
  • 留言
关

搜索

  • https://www.facebook.com/
  • https://twitter.com/
  • https://t.me/
  • https://www.instagram.com/
  • https://youtube.com/
Subscribe
编程

利用阿里云API自动更新宽带动态IP解析,作为DDNS使用

作者 admin
2019年6月28日 1 分钟阅读
0

原文引用:http://bbs.atoo.top:8081/viewtopic.php?f=1&t=4

花9元钱在阿里云上云注册一个“atoo.top”的顶级域名,再利用下面的代码定时更新你家路由器的动态IP,不管宽带IP怎么变,都可以正确访问了,这样就实现了DDNS的效果了。
下面Python代码中的AcsClient()这个函数的参数请在https://help.aliyun.com/document_detail/53090.html 上查看。

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# 阿里支DNS自动更新IP地址程序(Python)
# 文件名  : aliyundns.py
# 调用方法: python aliyundns.py www.atoo.top
 
#!/usr/bin/env python
#coding=utf-8
 
import sys
import json
import urllib
import datetime
from aliyunsdkcore.client import AcsClient
from aliyunsdkcore.acs_exception.exceptions import ClientException
from aliyunsdkcore.acs_exception.exceptions import ServerException
from aliyunsdkalidns.request.v20150109.UpdateDomainRecordRequest import UpdateDomainRecordRequest
from aliyunsdkalidns.request.v20150109.DescribeSubDomainRecordsRequest import DescribeSubDomainRecordsRequest
 
if len(sys.argv)<=1:
    print 'Usage: python aliyundna.py www.atoo.top'
    sys.exit(0)
    
accessKeyId = 'LTAIjO*****BfI'
accessSecret = 'JlvkmaCPek3SqqYaF*******8Zp'
 
DomainName = sys.argv[1]  
 
# print sys.argv[0], sys.argv[1], sys.argv[2]
 
client = AcsClient(accessKeyId, accessSecret, 'cn-hangzhou')
 
request = DescribeSubDomainRecordsRequest()
request.set_accept_format('json')
request.set_SubDomain(DomainName)
response = client.do_action_with_exception(request)
# print response
response = json.loads(response.decode())
RecordId = response['DomainRecords']['Record'][0]['RecordId']
RR       = response['DomainRecords']['Record'][0]['RR']
old_ip   = response['DomainRecords']['Record'][0]['Value']
new_ip = urllib.urlopen("http://ip.42.pl/raw").read()
 
if old_ip != new_ip:
    request = UpdateDomainRecordRequest()
    request.set_accept_format('json')
 
    request.set_Value(new_ip)
    request.set_Type("A")
    request.set_RR(RR)
    request.set_RecordId(RecordId)
    response = client.do_action_with_exception(request)
 
    print datetime.datetime.now(), ' ', DomainName,': ', old_ip, ' => ', new_ip
else :
    print datetime.datetime.now(), ' ', DomainName, ': IP has not changed.', new_ip

调用方法: python? aliyundns.py? www.atoo.top

标签:

ddnspython动态IP
作者

admin

关注我
其他文章
上一个

phpBB的顶部logo图标更换方法。

下一个

安装ZeroTier for Synology,将办公室电脑与家里群晖组网

暂无评论!成为第一个。

发表回复 取消回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理。

4条垃圾评论已被Akismet阻挡 (在新标签页中打开)

近期文章

  • www.tansoo.cn网站空间迁移至armbian主机
  • 在QT6中安装qtmqtt、qtopcua控件的方法
  • 你的 Python 环境或安装版没有 spyder‑kernels 模块或没有安装正确的版本 (>=
  • 用PYTHON爬网络小说源代码
  • QT5.15.2搭建ANDROID编译环境

近期评论

  • gg 发表在《Traccar服务软件高德地图适配版docker镜像安装教程》
  • admin 发表在《Traccar服务软件高德地图适配版docker镜像安装教程》
  • /api/positions/里addres 为什么是null啊? 发表在《Traccar服务软件高德地图适配版docker镜像安装教程》
  • gg 发表在《Traccar服务软件高德地图适配版docker镜像安装教程》
  • 9394 发表在《Traccar服务软件高德地图适配版docker镜像安装教程》

归档

  • 2025 年 6 月
  • 2023 年 6 月
  • 2022 年 10 月
  • 2021 年 5 月
  • 2021 年 4 月
  • 2020 年 11 月
  • 2020 年 10 月
  • 2020 年 6 月
  • 2019 年 11 月
  • 2019 年 8 月
  • 2019 年 6 月
  • 2019 年 1 月
  • 2018 年 12 月
  • 2018 年 11 月
  • 2017 年 9 月
  • 2016 年 7 月
  • 2016 年 5 月
  • 2015 年 12 月
  • 2015 年 4 月
  • 2015 年 1 月
  • 2014 年 12 月
  • 2014 年 11 月
  • 2014 年 10 月
  • 2014 年 9 月
  • 2014 年 8 月
  • 2014 年 7 月
  • 2014 年 6 月
  • 2014 年 5 月
  • 2013 年 10 月
  • 2013 年 9 月
  • 2013 年 8 月
  • 2013 年 7 月
  • 2013 年 6 月
  • 2013 年 5 月
  • 2013 年 4 月
  • 2013 年 3 月
  • 2013 年 2 月
  • 2013 年 1 月
  • 2012 年 12 月
  • 2012 年 11 月
  • 2012 年 10 月
  • 2012 年 6 月
  • 2012 年 3 月
  • 2011 年 8 月
  • 2011 年 5 月
  • 2011 年 4 月
  • 2011 年 3 月
  • 2011 年 1 月
  • 2010 年 8 月
  • 2010 年 6 月
  • 2010 年 4 月
  • 2010 年 3 月
  • 2010 年 2 月
  • 2010 年 1 月
  • 2009 年 12 月
  • 2009 年 11 月

分类

  • 编程
  • 软件
  • 随记

其他操作

  • 注册
  • 登录
  • 条目 feed
  • 评论 feed
  • WordPress.org

标签

aliyun Android CRC DBGridEh ddns Delphi EhLib ESP8266 GP328D gp338plus GP3688 Modbus phpbb python QT raspberry S7-SCL sapi speech SpVoice Synology traccar UART Unicode virtualbox vmware WGS84 wordpress ZeroTier 写频 动态IP 图片尺寸 地图 外挂编程 天气预报 导航 打印 扩频 拼音首字母 支票快打 树莓派 爬虫 百度地图 西门子PLC 车联网API

友情链接

  • 私有云论坛
  • 百度开放云
  • 主机管理
  • My Cloud
  • 智能家居技术论坛
  • 精灵云
  • 雅苑私站
Copyright 2026 — BG6RSH's 随记.. All rights reserved. Blogsy WordPress Theme