C#调用阿里云接口实现动态域名解析,支持IPv6(Windows系统下载可用)
2023-12-18 17:32:08
电信宽带一般能申请到公网IP,但是是动态的,基本上每天都要变,所以想到做一个定时任务,随系统启动,网上看了不少博文很多都支持IPv4,自己动手写了一个。
(私信可全程指导)
部署步骤:
1、下载软件包,修改配置文件
下载地址:私信获取
下载压缩包,解压后修改配置文件AliDDNS.exe.config中的阿里云帐号和自己的域名。
2、修改脚本,并运行脚本
将“安装服务.bat”和“卸载服务.bat”脚本中的可执行文件路径,改为自己的软件包所在路径,然后右键“安装服务.bat”进行安装服务。
执行脚本后会将定时服务添加到系统服务中。
3、启动服务
右键“此电脑”,点击“管理”进入计算机管理窗口,在服务列表中找到上一步新增的服务,然后启动。即可定时更新阿里云解析记录,实现动态IP的DDNS。
源代码:
/// <summary>
/// 刷新阿里云域名解析记录
/// </summary>
private void RefreshAliRecord()
{
string recordTypes = ConfigurationManager.AppSettings["RecordTypes"];
if (string.IsNullOrWhiteSpace(recordTypes))
{
NLogHelper.WriteLog(typeof(AliDDNS), "配置文件中的“待解析的协议类型”不能为空。", NLogLevel.Warn);
return;
}
string regionId = ConfigurationManager.AppSettings["RegionId"];
string accessKeyID = ConfigurationManager.AppSettings["AccessKeyID"];
string accessKeySecret = ConfigurationManager.AppSettings["AccessKeySecret"];
string domainName = ConfigurationManager.AppSettings["DomainName"];
string rR = ConfigurationManager.AppSettings["RR"];
string[] rRTypes = rR.Split('|');
// regionId:地区节点
// accessKeyID:阿里云Key
// accessKeySecret:阿里云密钥
AlibabaCloudCredentialsProvider provider = new AccessKeyCredentialProvider(accessKeyID, accessKeySecret);
IClientProfile profile = DefaultProfile.GetProfile(regionId);
DefaultAcsClient client = new DefaultAcsClient(profile, provider);
List<DescribeDomainRecordsResponse.DescribeDomainRecords_Record> recordList = DescribeDomainRecords(client, domainName);
string[] recordTypeArray = recordTypes.Split('|');
foreach (string recordType in recordTypeArray)
{
if (recordType == "A")
{
#region IPv4解析记录
try
{
string urls = ConfigurationManager.AppSettings["GetIPFromUrl&
文章来源:https://blog.csdn.net/yinshengchen/article/details/135064885
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!