阿里云域名 动态ip绑定 python方案
思路:阿里云提供dns域名解析api,查出外网ip,定时更新域名解析。

一、配置config.json
用配置文件,动态配置二级域名,ip,accessKey等。
{
"ip": "223.76.234.68",
"accessKeyId": "", //阿里云控制台生成
"accessSecret": "",
"domain": "xxx.com.cn", //一级域名
"subDomain": "test", //二级域名前缀,多个用英文逗号隔开
"time": "6" //定时更新,秒
}
二、代码
python3依赖:
pip install requests
pip install aliyun-python-sdk-alidns
pip install aliyun-python-sdk-core
pip install aliyun-python-sdk-domain
代码:
import json
import time
import requests
from aliyunsdkalidns.request.v20150109.AddDomainRecordRequest import AddDomainRecordRequest
from aliyunsdkalidns.request.v20150109.DescribeSubDomainRecordsRequest import DescribeSubDomainRecordsRequest
from aliyunsdkalidns.request.v20150109.UpdateDomainRecordRequest import UpdateDomainRecordRequest
from aliyunsdkcore.client import AcsClient
#获取外网ip
def get_internet_ip():
with requests.get('http://www.3322.org/dyndns/getip') as response:
html = response.content
ip = str(html, encoding='utf-8').replace("\n", "")
return ip
#记录上次外网ip
def wirte_to_config(data):
with open("./config.js