if no A, return nil
(domain string)
| 100 | |
| 101 | // if no A, return nil |
| 102 | func (c *DOHClient) A(domain string) (net.IP, error) { |
| 103 | m := &dns.Msg{} |
| 104 | m.SetQuestion(domain+".", dns.TypeA) |
| 105 | m, err := c.Exchange(m) |
| 106 | if err != nil { |
| 107 | return nil, err |
| 108 | } |
| 109 | for _, v := range m.Answer { |
| 110 | if t, ok := v.(*dns.A); ok { |
| 111 | return t.A, nil |
| 112 | } |
| 113 | } |
| 114 | return nil, nil |
| 115 | } |