ToB企服应用市场:ToB评测及商务社交产业平台

标题: Windows体系下实现阿里云域名动态ip更新 [打印本页]

作者: 千千梦丶琪    时间: 2024-8-27 13:25
标题: Windows体系下实现阿里云域名动态ip更新
1.代码部分
通过
  1. ip = load(urlopen('https://api.ipify.org/?format=json'))['ip']
复制代码
获得公网ip
通过阿里云提供的api获得域名对应的ip
两者不一致就进行替换
  1. import json
  2. from urllib.request import urlopen
  3. from json import load
  4. from aliyunsdkalidns.request.v20150109.DescribeDomainRecordsRequest import DescribeDomainRecordsRequest
  5. from aliyunsdkcore.client import AcsClient
  6. from aliyunsdkcore.auth.credentials import AccessKeyCredential
  7. from aliyunsdkalidns.request.v20150109.UpdateDomainRecordRequest import UpdateDomainRecordRequest
  8. #获取本机公网ip
  9. ip = load(urlopen('https://api.ipify.org/?format=json'))['ip']
  10. #accessKeyId,accessKeySecret是通过阿里云账户AccessKey管理获得的,以字符串的方式填入即可,region_id的查找站内有贴子不再赘述
  11. credentials = AccessKeyCredential(accessKeyId, accessKeySecret)
  12. client = AcsClient(region_id='cn-hangzhou', credential=credentials)
  13. request = DescribeDomainRecordsRequest()
  14. #域名的填写要去掉www,比如www.aliyun.cn就填写'aliyun.cn'
  15. request.set_DomainName('aliyun.cn')
  16. response = client.do_action_with_exception(request)
  17. response_dict = json.loads(response)  
  18. # 提取 'Value' 值,即阿里云解析中存储的ip地址
  19. value = response_dict['DomainRecords']['Record'][0]['Value']
  20. # 对比本机公网ip和阿里云存储ip,不一致则进行更新
  21. if value!=ip:
  22.     request = UpdateDomainRecordRequest()
  23.     request.set_accept_format('json')
  24.     request.set_RecordId("768707280628106240")
  25.     request.set_RR("www")
  26.     request.set_Type("A")
  27.     request.set_Value(ip)
  28.     response = client.do_action_with_exception(request)
  29.     print(str(response, encoding='utf-8'))
复制代码
2.设置定时任务
用win+r打开运行窗口,输入taskschd.msc打开定时任务创建界面,右侧选择创建任务
常规界面填写自己的任务名称
触发器界面新建触发器,选择一次,重复任务隔断选择5分钟,持续时间无穷期
操作界面新建操作,程序选择自己python位置,参数选择自己脚本的绝对路径
确认即可使用

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4