输出文件为空
代码在这里(access-key和secret-key屏蔽掉了)
主机 = "yxzlownserveraddress"
import json
import requests
import time
from aliyunsdkcore.client import AcsClient
from aliyunsdkcore.acs_exception.exceptions import ClientException
from aliyunsdkcore.acs_exception.exceptions import ServerException
from aliyunsdkalidns.request.v20150109.DescribeDomainInfoRequest import DescribeDomainInfoRequest
from aliyunsdkalidns.request.v20150109.DescribeDomainRecordsRequest import DescribeDomainRecordsRequest
from aliyunsdkalidns.request.v20150109.UpdateDomainRecordRequest import UpdateDomainRecordRequest
client = AcsClient('Access', 'Secret', 'cn-qingdao') # 初始化
while True:
try:
# 获取记录ID
request = DescribeDomainRecordsRequest()
request.set_accept_format('json')
request.set_DomainName("yxzl.top")
response = client.do_action_with_exception(request)
text = str(response, encoding="utf-8")
wanted = "test"
for i in json.loads(text)["DomainRecords"]["Record"]:
if i["RR"] == 主机:
记录ID = i["RecordId"]
旧的IP = i["Value"]
新的IP = requests.get("http://ip.42.pl/raw").text
if 新的IP != 旧的IP:
# 更改记录
try:
request = UpdateDomainRecordRequest()
request.set_accept_format('json')
request.set_RecordId(记录ID)
request.set_RR(主机)
request.set_Type("A")
request.set_Value(新的IP)
response = client.do_action_with_exception(request)
print("%s\tIP发生了变化(%s -> %s),已进行更新。" % (time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()),
旧的IP, 新的IP))
except:
print("%s\tIP发生了变化(%s -> %s),但更新失败。" % (time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()),
旧的IP, 新的IP))
else:
print("%s\tIP相同(%s),未进行更改。" % (time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()),
新的IP))
time.sleep(90)
except:
pass