package whois import "time" type QueryLevel int const ( QueryAuto QueryLevel = iota QueryRegistryOnly QueryRegistrarOnly QueryBoth ) type QueryOptions struct { Level QueryLevel OverrideServer string OverrideServers []string ReferralMaxDepth int NegativeCacheTTL time.Duration } // ResultMeta provides quality and provenance diagnostics for a lookup result. type ResultMeta struct { Source string Server string Charset string RawLen int ReasonCode ErrorCode Reason string QualityScore int } type PersonalInfo struct { FirstName string LastName string Name string Org string Fax string FaxExt string Addr string City string State string Country string Zip string Phone string PhoneExt string Email string } type Result struct { exists bool domain string domainID string rawData string registrar string hasRegisterDate bool registerDate time.Time hasUpdateDate bool updateDate time.Time hasExpireDate bool expireDate time.Time statusRaw []string nsServers []string nsIps []string dnssec string whoisSer string ianaID string meta ResultMeta registerInfo PersonalInfo adminInfo PersonalInfo techInfo PersonalInfo } func (r Result) Exists() bool { return r.exists } func (r Result) Domain() string { return r.domain } func (r Result) DomainID() string { return r.domainID } func (r Result) RawData() string { return r.rawData } func (r Result) Registrar() string { return r.registrar } func (r Result) Registar() string { return r.registrar } // 兼容旧拼写 func (r Result) HasRegisterDate() bool { return r.hasRegisterDate } func (r Result) RegisterDate() time.Time { return r.registerDate } func (r Result) HasUpdateDate() bool { return r.hasUpdateDate } func (r Result) UpdateDate() time.Time { return r.updateDate } func (r Result) HasExpireDate() bool { return r.hasExpireDate } func (r Result) ExpireDate() time.Time { return r.expireDate } func (r Result) Status() []string { return r.statusRaw } func (r Result) NsServers() []string { return r.nsServers } func (r Result) NsIps() []string { return r.nsIps } func (r Result) Dnssec() string { return r.dnssec } func (r Result) WhoisSer() string { return r.whoisSer } func (r Result) IanaID() string { return r.ianaID } func (r Result) Meta() ResultMeta { return r.meta } func (r Result) TypedError() error { return reasonErrorFromMeta(r.domain, r.meta) } func (r Result) RegisterInfo() PersonalInfo { return r.registerInfo } func (r Result) AdminInfo() PersonalInfo { return r.adminInfo } func (r Result) TechInfo() PersonalInfo { return r.techInfo }