using System.Xml.Serialization; namespace economy.Models.Whois.Domain { // 검색결과 변수 [XmlRoot(ElementName = "response")] public class Response { [XmlElement(ElementName = "result")] public Result Result { get; set; } [XmlElement(ElementName = "whois")] public Whois Whois { get; set; } } public class Result { // 결과코드 [XmlElement(ElementName = "result_code")] public int ResultCode { get; set; } // 결과 메시지 [XmlElement(ElementName = "result_msg")] public string ResultMsg { get; set; } } public class Whois { [XmlElement(ElementName = "krdomain")] public KrDomain? KrDomain { get; set; } [XmlElement(ElementName = "error")] public Error? Error { get; set; } } // 응답 없을 경우, 오류 발생 시 public class Error { [XmlElement(ElementName = "query")] public string? Query { get; set; } [XmlElement(ElementName = "error_code")] public int? ErrorCode { get; set; } [XmlElement(ElementName = "error_msg")] public string? ErrorMsg { get; set; } } public class KrDomain { // 조회 요청한 주소 [XmlElement(ElementName = "name")] public string Name { get; set; } // 등록인 이름 [XmlElement(ElementName = "regName")] public string RegName { get; set; } // 관리자 이름 [XmlElement(ElementName = "adminName")] public string AdminName { get; set; } // 관리자 이메일 [XmlElement(ElementName = "adminEmail")] public string AdminEmail { get; set; } // 관리자 전화번호 [XmlElement(ElementName = "adminPhone")] public string AdminPhone { get; set; } // 최종수정일자 [XmlElement(ElementName = "lastUpdatedDate")] public string LastUpdatedDate { get; set; } // 등록일자 [XmlElement(ElementName = "regDate")] public string RegDate { get; set; } // 만료일자 [XmlElement(ElementName = "endDate")] public string EndDate { get; set; } // 정보공개여부 [XmlElement(ElementName = "infoYN")] public string InfoYN { get; set; } = "N"; // 도메인 상태 [XmlElement(ElementName = "domainStatus")] public string DomainStatus { get; set; } // 등록대행자 이름 [XmlElement(ElementName = "agency")] public string Agency { get; set; } // 등록대행자 주소 [XmlElement(ElementName = "agency_url")] public string AgencyUrl { get; set; } /** * 영문 정보 **/ // 도메인 상태 [XmlElement(ElementName = "e_regName")] public string ERegName { get; set; } // 도메인 상태 [XmlElement(ElementName = "e_addr")] public string EAddr { get; set; } // 도메인 상태 [XmlElement(ElementName = "e_adminName")] public string EAdminName { get; set; } // 도메인 상태 [XmlElement(ElementName = "e_agency")] public string EAgency { get; set; } /** * 네임서버 **/ // DNSSEC 적용 여부 [XmlElement(ElementName = "dnssec")] public string? DNSSEC { get; set; } [XmlElement(ElementName = "ns1")] public List NameServers { get; set; } = new List(); [XmlElement(ElementName = "ip1")] public List IPAddresses { get; set; } = new List(); } }