/// <summary> /// 添加解析记录 /// </summary> /// <param name="domain">要添加解析记录的域名(主域名,不包括 www,例如:qcloud.com)</param> /// <param name="subDomain">子域名,例如:www</param> /// <param name="recordType">记录类型,可选的记录类型为:"A", "CNAME", "MX", "TXT", "NS", "AAAA", "SRV"</param> /// <param name="value">记录值,例如 IP:192.168.10.2,CNAME:cname.dnspod.com.,MX:mail.dnspod.com.</param> /// <returns></returns> public async Task <DynamicDnsResult> AddAsync(string domain, string subDomain, string recordType, string value) { var model = new CreateRecordRequestModel(domain, subDomain, recordType, value); var resp = await RequestFactory.Request(model); return(ResponseUtil.Validate(resp)); }
public async Task <DynamicDNSResult> AddOrUpdateAsync(string domain, string subDomain, string recordType, string value) { var recordList = await RequestFactory.Request <RecordListResponseModel>(new RecordListRequestModel(domain)); if (recordList.Code != 0) { return(new DynamicDNSResult(false, recordList.Message)); } if (!recordList.Data.Records.Any()) { return(new DynamicDNSResult(false, "没有任何解析记录!")); } var updateRecordList = subDomain.Split(',').ToList(); var result = string.Empty; foreach (var item in updateRecordList) { if (string.IsNullOrEmpty(item)) { continue; } var oldRecord = recordList.Data.Records.FirstOrDefault(x => x.Name == item)?.Id; if (oldRecord.HasValue) { await RequestFactory.Request(new RemoveRecordRequestModel(domain, oldRecord.Value)); } var model = new CreateRecordRequestModel(domain, item, recordType, value); result = await RequestFactory.Request(model); } return(ResponseUtil.Validate(result)); }
/// <summary> /// 添加或更新解析记录 /// </summary> /// <param name="domain">要添加解析记录的域名(主域名,不包括 www,例如:qcloud.com)</param> /// <param name="subDomain">子域名,例如:www</param> /// <param name="recordType">记录类型,可选的记录类型为:"A", "CNAME", "MX", "TXT", "NS", "AAAA", "SRV"</param> /// <param name="value">记录值,例如 IP:192.168.10.2,CNAME:cname.dnspod.com.,MX:mail.dnspod.com.</param> /// <returns></returns> public async Task <DynamicDnsResult> AddOrUpdateAsync(string domain, string subDomain, string recordType, string value) { var model = new CreateRecordRequestModel(domain, subDomain, recordType, value); var deleteResult = await DeleteAsync(model.Domain, model.SubDomain); if (deleteResult.Error) { return(deleteResult); } //移除后添加 var resp = await RequestFactory.Request(model); return(ResponseUtil.Validate(resp)); }