首页 > 系统相关 >Windows系统下实现阿里云域名动态ip更新

Windows系统下实现阿里云域名动态ip更新

时间:2024-07-02 15:56:48浏览次数:17  
标签:set Windows ip request json 域名 import response

1.代码部分
通过

ip = load(urlopen('https://api.ipify.org/?format=json'))['ip']

获得公网ip

通过阿里云提供的api获得域名对应的ip

两者不一致就进行替换

import json
from urllib.request import urlopen
from json import load

from aliyunsdkalidns.request.v20150109.DescribeDomainRecordsRequest import DescribeDomainRecordsRequest
from aliyunsdkcore.client import AcsClient
from aliyunsdkcore.auth.credentials import AccessKeyCredential
from aliyunsdkalidns.request.v20150109.UpdateDomainRecordRequest import UpdateDomainRecordRequest
#获取本机公网ip
ip = load(urlopen('https://api.ipify.org/?format=json'))['ip']
#accessKeyId,accessKeySecret是通过阿里云账户AccessKey管理获得的,以字符串的方式填入即可,region_id的查找站内有贴子不再赘述
credentials = AccessKeyCredential(accessKeyId, accessKeySecret)
client = AcsClient(region_id='cn-hangzhou', credential=credentials)
request = DescribeDomainRecordsRequest()
#域名的填写要去掉www,比如www.aliyun.cn就填写'aliyun.cn'
request.set_DomainName('aliyun.cn')
response = client.do_action_with_exception(request)
response_dict = json.loads(response)  
# 提取 'Value' 值,即阿里云解析中存储的ip地址
value = response_dict['DomainRecords']['Record'][0]['Value']
# 对比本机公网ip和阿里云存储ip,不一致则进行更新
if value!=ip:
    request = UpdateDomainRecordRequest()
    request.set_accept_format('json')

    request.set_RecordId("768707280628106240")
    request.set_RR("www")
    request.set_Type("A")
    request.set_Value(ip)
    response = client.do_action_with_exception(request)
    print(str(response, encoding='utf-8'))

2.设置定时任务

用win+r打开运行窗口,输入taskschd.msc打开定时任务创建界面,右侧选择创建任务

常规界面填写自己的任务名称

触发器界面新建触发器,选择一次,重复任务间隔选择5分钟,持续时间无限期

操作界面新建操作,程序选择自己python位置,参数选择自己脚本的绝对路径

确认即可使用

标签:set,Windows,ip,request,json,域名,import,response
From: https://blog.csdn.net/m0_57631384/article/details/140128571

相关文章

  • windows10用conda搭建tensorflow的gpu环境
    在tensorflow官方网址上也列举了很多方法,但都很麻烦,包括docker也没有办法在win10下应用gpu来计算。记录我的检查过程。在官网搜集有用的资料。“在Windows环境中从源代码构建”中提到了经过测试后,可用的配套版本,找到一个最新的是:|版本|Python版......
  • Windows服务器下配置Gogs HTTP自动跳转HTTPS
    在前面的文章中,介绍了如何在Windows服务器下搭建自己的git服务器,在文末介绍了开启HTTPS的方法。https://www.cnblogs.com/zhaotianff/p/17887191.html 但是开启https后,无法使用http访问了,所以需要urlrewrite,找了一圈,发现网上的教程都是Linux下基于Nginx的。 通过尝试,找到......
  • 在Windows操作系统中,与文件系统进行交互主要通过一系列的API函数来实现,这些函数包括底
    操作文件系统API与操作系统的文件系统进行交互,涉及到底层的文件系统操作和文件属性管理。不同的操作系统提供了不同的API和机制来执行这些操作,但基本的原理和流程大致相似。文件系统API的基本操作1.文件时间戳(创建时间、修改时间、访问时间)创建时间(CreationTime):表示文件被创......
  • WinNTSetup 使用教程 进行 Windows 操作系统的安装和配置; WinNTSetup 进行高级操作和
    WinNTSetupv5.3.5.2-InstallWindowsfromUSB-MSFNMyFiles(mediafire.com)WinNTSetup是一个强大的Windows安装工具,主要用于在Windows操作系统中安装或重新安装Windows。以下是一个初级使用教程的大纲,帮助您了解如何使用WinNTSetup进行操作系统的安装和配置:1.准备......
  • termsrv.dll 是实现 Windows 远程桌面服务的核心组件,它通过上述机制和功能,支持了在企
    远程桌面协议(RemoteDesktopProtocol,RDP)是由微软开发的一种专用协议,用于在网络上进行远程桌面会话和远程应用程序的访问。它允许用户从一个计算机(称为客户端)远程控制另一个计算机(称为服务器),而无需物理上位于服务器旁边。WindowsRDP的底层原理:客户端-服务器架构:客户端:用户......
  • 修改文件夹的图标、颜色和其他外观特征可以通过修改注册表、编辑系统文件或者调用 Win
    修改文件夹的图标、颜色和其他外观特征通常涉及以下底层原理和方法:注册表修改:Windows中的文件夹外观特征通常保存在注册表中。通过修改特定的注册表项,可以实现更改文件夹的图标、颜色等外观。具体来说,文件夹的外观设置通常存储在注册表路径类似于 HKEY_CURRENT_USER\Softw......
  • JavaScript 学习教程:从入门到精通
    JavaScript学习教程:从入门到精通JavaScript是网页开发过程中不可或缺的一部分,无论你是初学者还是有一定基础的开发者,这篇教程将帮助你更深入地理解和运用JavaScript。本文将分为多个章节,涵盖JavaScript的基本概念、高级技术、常用库和框架,以及实际项目案例。目录Jav......
  • SOMEIPSRV_FORMAT_24:类型2条目的“实例ID”字段
    测试目的:验证类型2条目中的InstanceID字段是否正确承载了事件组服务的实例ID,该实例ID是使用SdServerServiceInstanceID和SdClientServiceInstanceID参数静态配置的。描述本测试用例旨在确保SOME/IP服务发现协议中,类型2条目格式布局的InstanceID字段能够正确地承载服务......
  • Nginx(openresty) X-Forwarded-For $proxy_add_x_forwarded_for 多层代理 通过map分割
    1nginx配置#配置多层反向代理,配置如下proxy_passhttp://ip或者域名/;proxy_connect_timeout60;proxy_send_timeout60;proxy_read_timeout60;proxy_set_headerUpgrade$h......
  • 【JavaScript脚本宇宙】打造完美用户体验:六大模态库全解析
    从美观到高效:六大模态库实战指南前言随着现代Web开发的不断进步和用户体验要求的提升,模态窗口(Modal)已成为网页设计中不可或缺的一部分。模态窗提供了一种直观而有效的方式来展示重要信息、提示用户操作或承载交互内容。本文将全面介绍六大流行的模态库,包括BootstrapModal......