Golang net lookupMX lookupTxT 的使用案例

26 min read
  1. lookupMX
package main

import (
    "fmt"
    "net"
)

func main() {
    mxRecords, err := net.LookupMX("gmail.com")
    if err != nil {
        fmt.Println(err)
        return
    }

    for _, mx := range mxRecords {
        fmt.Println(mx.Pref, mx.Host)
    }
}

输出:

5 gmail-smtp-in.l.google.com.
10 alt1.gmail-smtp-in.l.google.com.
20 alt2.gmail-smtp-in.l.google.com.
30 alt3.gmail-smtp-in.l.google.com.
40 alt4.gmail-smtp-in.l.google.com.

该示例使用 net.LookupMX 函数查询 'gmail.com' 的 MX 记录,并打印出 MX 记录的优先级和主机名。

  1. lookupTxT
package main

import (
    "fmt"
    "net"
)

func main() {
    txtRecords, err := net.LookupTXT("google.com")
    if err != nil {
        fmt.Println(err)
        return
    }

    for _, txt := range txtRecords {
        fmt.Println(txt)
    }
}

输出:

v=spf1 include:_spf.google.com ~all

该示例使用 net.LookupTXT 函数查询 'google.com' 的 TXT 记录,并打印出 TXT 记录的内容。