国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > 幫助中心 > 正文

用.NET做動態域名解析的方法示例

2024-07-09 22:42:50
字體:
來源:轉載
供稿:網友

動態域名解析,或DNSR,通常用于解析IP地址經常變化的域名。電信網絡提供了公網IP,給廣大程序員遠程辦公、內容分享等方面帶來了極大的便利。但公網IP是動態的,它會經常變化,因此通過IP的方式訪問非常不友好。因此就需要引入“花生殼”等動態域名解析工具,這類解析工具限制很多,如免費版只能使用指定的二級域名,解析的各類很少,域名數量有限制等等。

還好我們有.NET(和阿里云)通過簡短的幾行.NET代碼,即可輕松完成動態域名解析。

動態域名解析的過程

第一步 知道自己的IP地址 第二步 更新DNSIP解析值

獲取自己的IP地址

現在網上有許多網站、服務或者API可以快速獲取自己的IP地址,如隨手在百度上可以找到http://www.ip138.com/,國外還有https://www.ipify.org/等服務,都挺好用。這些服務.NET也可以做,只需幾行簡短的代碼,然后部署到服務器上:

async Task Main(){  await WebHost    .CreateDefaultBuilder()    .UseStartup<UserQuery>()    .Build()    .RunAsync();}public void ConfigureServices(IServiceCollection services) {}public void Configure(IApplicationBuilder app) =>   app.Run(ctx => ctx.Response.WriteAsync(ctx.Connection.RemoteIpAddress.ToString()));

我已經將該代碼部署到了服務器上,域名是:https://echo-ip.starworks.cc,可供有需要的朋友測試。

更新DNS解析值

各大域名網站都有自己的DNS解析API或者SDK,阿里云也不例外,我可以通過幾行簡短的C#代碼即可更新DNS解析值:

// 安裝NuGet包:aliyun-net-sdk-alidnsstring currentIp = new WebClient().DownloadString("https://echo-ip.starworks.cc/");var client = new DefaultAcsClient(DefaultProfile.GetProfile("", Util.GetPassword("aliyun_dns_access_key"), Util.GetPassword("aliyun_dns_secret_key")));var domainRecords = client.GetAcsResponse(new DescribeDomainRecordsRequest {   DomainName = "starworks.cc",   RRKeyWord = "cool", }).DomainRecords;DescribeDomainRecordsResponse.DescribeDomainRecords_Record homeRecord = domainRecords.First(x => x.RR == "cool");if (homeRecord._Value != currentIp){  client.GetAcsResponse(new UpdateDomainRecordRequest  {    RecordId = homeRecord.RecordId,    RR = homeRecord.RR,    Type = homeRecord.Type,    _Value = currentIp,  });}

然后將該腳本添加到電腦的開機啟動項,這樣每次開機時,即可確保我的cool.starworks.cc為最新的本地IP了。

阿里云的SDK設計有點取巧了,客戶端DefaultAcsClient只有一個方法:GetAcsResponse<T>(T request),這樣一來不太方便,可以調用哪些方法不能一目了然,二來還會讓調用方感覺很迷惑,明明是更新操作,為什么要調用Get

與此相比,騰訊云提供的SDK就人性化很多,雖然我的域名綁定在阿里云上。😂

不是80端口怎么辦?

默認是不允許80/443端口開放外網的,因此即使有動態域名綁定,以后發給客戶時,網址里面也帶一個長長的端口名,如:

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宜都市| 丽江市| 胶州市| 西丰县| 方正县| 玉龙| 扎囊县| 博野县| 固始县| 滦南县| 海安县| 崇左市| 新宾| 朝阳县| 留坝县| 益阳市| 城口县| 谢通门县| 呈贡县| 嘉鱼县| 黎城县| 普洱| 正蓝旗| 齐河县| 中宁县| 顺昌县| 岳阳市| 定西市| 吉林省| 洞口县| 伊金霍洛旗| 美姑县| 岗巴县| 龙游县| 桦甸市| 阿克| 台安县| 凤凰县| 阳朔县| 巴中市| 景谷|