/// <summary> /// 删除所有指定类型的记录。 /// </summary> /// <param name="domain">域名</param> /// <param name="rr">主机记录</param> /// <param name="type">解析记录类型</param> /// <returns>是否删除成功。</returns> private bool DeleteRecords(string domain, string rr, string type) { try { var client = GetNewClient(); DeleteSubDomainRecordsRequest request = new DeleteSubDomainRecordsRequest { DomainName = domain, RR = rr, Type = type }; var response = client.GetAcsResponse(request); if (response.HttpResponse.isSuccess()) { Log.Print($"成功清理{ type }记录{ rr }.{ domain }。"); return(true); } else { Log.Print($"清理{ type }记录{ rr }.{ domain }失败。"); return(false); } } catch (Exception e) { Log.Print($"删除{ type }记录{ rr }.{ domain }记录时出现异常:{ e }"); return(false); } }
public static void DeleteCertbotValidation(this DefaultAcsClient client, string domain) { try { var request = new DeleteSubDomainRecordsRequest { DomainName = domain, RR = @"_acme-challenge", Type = @"TXT" }; var response = client.GetAcsResponse(request); Console.WriteLine($@"RR: {response.RR}"); Console.WriteLine($@"RequestId: {response.RequestId}"); Console.WriteLine($@"TotalCount: {response.TotalCount}"); } catch (ServerException e) { Console.WriteLine(e); } catch (ClientException e) { Console.WriteLine(e); } }
/// <summary> /// 删除所有记录。 /// </summary> /// <param name="rd">待删除的记录。</param> /// <returns>删除成功返回true,否则返回false。</returns> private bool DeleteRecords(Record rd) { try { var client = GetNewClient(); DeleteSubDomainRecordsRequest request = new DeleteSubDomainRecordsRequest { DomainName = rd.DomainName, RR = rd.RR }; var response = client.GetAcsResponse(request); if (response.HttpResponse.isSuccess()) { Log.Print($"成功清理记录{ rd.RR }.{ rd.DomainName }。"); return(true); } else { Log.Print($"清理记录{ rd.RR }.{ rd.DomainName }失败。"); return(false); } } catch (Exception e) { Log.Print($"删除{ rd.RR }.{ rd.DomainName }记录时出现异常:{ e }"); return(false); } }
public override DomainRecordActionResult DeleteSubDomainRecords(DeleteDomainRecordParam param) { var request = new DeleteSubDomainRecordsRequest() { DomainName = param.DomainName, RR = param.RR }; try { var response = client.GetAcsResponse(request); if (response == null || response.HttpResponse.Content == null || response.HttpResponse.Content.Length == 0) { throw new Exception($"Delete subdomain record info failed. record domain is {param.RR}.{param.DomainName}"); } string result = Encoding.UTF8.GetString(response.HttpResponse.Content); var resultObj = new JsonSerializer().Deserialize <DomainRecordActionResult>(new JsonTextReader(new StringReader(result))); if (resultObj != null) { resultObj.Status = true; } return(resultObj); } catch (ServerException e) { throw new Exception($"Aliyun server error. {e.Message}"); } catch (ClientException e) { throw new Exception($"Reuqest client error. errcode is {e.ErrorCode}, {e.Message}"); } }