Domain.cs 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. using System.Xml.Serialization;
  2. namespace economy.Models.Whois.Domain
  3. {
  4. // 검색결과 변수
  5. [XmlRoot(ElementName = "response")]
  6. public class Response
  7. {
  8. [XmlElement(ElementName = "result")]
  9. public Result Result { get; set; }
  10. [XmlElement(ElementName = "whois")]
  11. public Whois Whois { get; set; }
  12. }
  13. public class Result
  14. {
  15. // 결과코드
  16. [XmlElement(ElementName = "result_code")]
  17. public int ResultCode { get; set; }
  18. // 결과 메시지
  19. [XmlElement(ElementName = "result_msg")]
  20. public string ResultMsg { get; set; }
  21. }
  22. public class Whois
  23. {
  24. [XmlElement(ElementName = "krdomain")]
  25. public KrDomain? KrDomain { get; set; }
  26. [XmlElement(ElementName = "error")]
  27. public Error? Error { get; set; }
  28. }
  29. // 응답 없을 경우, 오류 발생 시
  30. public class Error
  31. {
  32. [XmlElement(ElementName = "query")]
  33. public string? Query { get; set; }
  34. [XmlElement(ElementName = "error_code")]
  35. public int? ErrorCode { get; set; }
  36. [XmlElement(ElementName = "error_msg")]
  37. public string? ErrorMsg { get; set; }
  38. }
  39. public class KrDomain
  40. {
  41. // 조회 요청한 주소
  42. [XmlElement(ElementName = "name")]
  43. public string Name { get; set; }
  44. // 등록인 이름
  45. [XmlElement(ElementName = "regName")]
  46. public string RegName { get; set; }
  47. // 관리자 이름
  48. [XmlElement(ElementName = "adminName")]
  49. public string AdminName { get; set; }
  50. // 관리자 이메일
  51. [XmlElement(ElementName = "adminEmail")]
  52. public string AdminEmail { get; set; }
  53. // 관리자 전화번호
  54. [XmlElement(ElementName = "adminPhone")]
  55. public string AdminPhone { get; set; }
  56. // 최종수정일자
  57. [XmlElement(ElementName = "lastUpdatedDate")]
  58. public string LastUpdatedDate { get; set; }
  59. // 등록일자
  60. [XmlElement(ElementName = "regDate")]
  61. public string RegDate { get; set; }
  62. // 만료일자
  63. [XmlElement(ElementName = "endDate")]
  64. public string EndDate { get; set; }
  65. // 정보공개여부
  66. [XmlElement(ElementName = "infoYN")]
  67. public string InfoYN { get; set; } = "N";
  68. // 도메인 상태
  69. [XmlElement(ElementName = "domainStatus")]
  70. public string DomainStatus { get; set; }
  71. // 등록대행자 이름
  72. [XmlElement(ElementName = "agency")]
  73. public string Agency { get; set; }
  74. // 등록대행자 주소
  75. [XmlElement(ElementName = "agency_url")]
  76. public string AgencyUrl { get; set; }
  77. /**
  78. * 영문 정보
  79. **/
  80. // 도메인 상태
  81. [XmlElement(ElementName = "e_regName")]
  82. public string ERegName { get; set; }
  83. // 도메인 상태
  84. [XmlElement(ElementName = "e_addr")]
  85. public string EAddr { get; set; }
  86. // 도메인 상태
  87. [XmlElement(ElementName = "e_adminName")]
  88. public string EAdminName { get; set; }
  89. // 도메인 상태
  90. [XmlElement(ElementName = "e_agency")]
  91. public string EAgency { get; set; }
  92. /**
  93. * 네임서버
  94. **/
  95. // DNSSEC 적용 여부
  96. [XmlElement(ElementName = "dnssec")]
  97. public string? DNSSEC { get; set; }
  98. [XmlElement(ElementName = "ns1")]
  99. public List<string> NameServers { get; set; } = new List<string>();
  100. [XmlElement(ElementName = "ip1")]
  101. public List<string> IPAddresses { get; set; } = new List<string>();
  102. }
  103. }