日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

Python+阿里云DNS 搭建DDNS动态域名解析

發(fā)布時(shí)間:2023/12/8 python 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python+阿里云DNS 搭建DDNS动态域名解析 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

家用的動(dòng)態(tài)公網(wǎng)IP在斷電以及一段時(shí)間后會(huì)變化,現(xiàn)在家寬公網(wǎng)IP開網(wǎng)盤以及代理管得越來越嚴(yán)格,已經(jīng)有檢測(cè)到被封的案例
上海檢測(cè)web封停
這讓我這種掛種子的PT黨(迫真)感到害怕
以前我把國外的免費(fèi)域名通過Cloudflare的免費(fèi)動(dòng)態(tài)解析到自己的路由器上,因?yàn)閲獾拿赓M(fèi)域名不能備案,怕被查水表(似乎這么久也沒挨停機(jī),或許廣西比較寬松),為防止萬一,在阿里的萬網(wǎng)上整了一個(gè)幾塊錢一年的域名來備案解析
看了一圈下來阿里似乎沒有提供現(xiàn)成的DDNS動(dòng)態(tài)域名解析,只能自力更生了
參考:使用python實(shí)現(xiàn)阿里云動(dòng)態(tài)域名解析DDNS

不過這篇文章有一點(diǎn)過時(shí),里面提到的一些函數(shù)已經(jīng)不可用

于是查閱阿里的SDK說明
云解析API說明

實(shí)現(xiàn)思路

1.每天定時(shí)查詢(例如使用crontab)本機(jī)IP,與阿里云DNS的A記錄做對(duì)比
2.如果不同就更新A記錄

代碼

import json,requests 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 client = AcsClient('***', '*****', 'cn-hangzhou') request = DescribeSubDomainRecordsRequest() request.set_accept_format('json') request.set_SubDomain("***.***") response = client.do_action_with_exception(request) print(str(response, encoding='utf-8')) old=json.loads(str(response, encoding='utf-8')) old=old["DomainRecords"]["Record"][0]["Value"] now=requests.get("http://www.3322.org/dyndns/getip") now=now.text.replace("\n", "") if(now!=old):print(old,"需要更新為",now)request = UpdateDomainRecordRequest()request.set_accept_format('json')request.set_RecordId("*****")request.set_RR("dns")request.set_Type("A")request.set_Value(now)response = client.do_action_with_exception(request)print(str(response, encoding='utf-8'))

效果

總結(jié)

以上是生活随笔為你收集整理的Python+阿里云DNS 搭建DDNS动态域名解析的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。