From ab454a6ec5315570b65fa4e0fa2e53df9586d057 Mon Sep 17 00:00:00 2001 From: Yun Date: Sun, 3 May 2026 23:58:06 +0800 Subject: [PATCH] commit --- dns.go | 31 +++++++++++++++++++++++++++++++ doc.go | 30 ++++++++++++++++++++++++++++++ https.go | 30 ++++++++++++++++++++++++++++++ param.go | 19 +++++++++++++++++++ 4 files changed, 110 insertions(+) create mode 100644 dns.go create mode 100644 doc.go create mode 100644 https.go create mode 100644 param.go diff --git a/dns.go b/dns.go new file mode 100644 index 0000000..65278ab --- /dev/null +++ b/dns.go @@ -0,0 +1,31 @@ +package netx + +import ( + "fmt" + "net" +) + +type dns struct{} + +func NewDNS() *dns { + return &dns{} +} + + +// 查询A记录,返回IPV4和IPV6的切片 +func GetA(domain string) ([]string, error) { + iprecords, _ := net.LookupIP("facebook.com") + for _, ip := range iprecords { + fmt.Println(ip) + } +} + +// 查询CNAME记录 +func GetCNAME(domain string) (string, error) { + cname, _ := net.LookupCNAME("m.facebook.com") + fmt.Println(cname) +} + +// chaxun + + diff --git a/doc.go b/doc.go new file mode 100644 index 0000000..f65560e --- /dev/null +++ b/doc.go @@ -0,0 +1,30 @@ +package netx + +import ( + "fmt" + "net/http" + "net/http/httputil" +) + +// 获取http原始报文 + +func GetHttpOrigin() { + resp, err := http.Get("https://baidu.com") + if err != nil { + panic(err) + } + defer resp.Body.Close() + + d, err := httputil.DumpRequestOut(resp.Request, true) + fmt.Println(string(d)) + + dump, err := httputil.DumpResponse(resp, true) + if err != nil { + panic(err) + } + + dd, err := httputil.DumpRequest(resp.Request, true) + fmt.Println(string(dd)) + + fmt.Printf("%q", dump) +} diff --git a/https.go b/https.go new file mode 100644 index 0000000..f5345ba --- /dev/null +++ b/https.go @@ -0,0 +1,30 @@ +package httpsx + +import ( + "crypto/tls" + "fmt" + "net/http" +) + +// 获取HTTPS证书过期时间 + +func main() { + tr := &http.Transport{ + TLSClientConfig: &tls.Config{InsecureSkipVerify: true}, + } + client := &http.Client{Transport: tr} + + seedUrl := "https://www.baidu.cn" + resp, err := client.Get(seedUrl) + defer resp.Body.Close() + + if err != nil { + fmt.Errorf(seedUrl, " 请求失败") + panic(err) + } + + //fmt.Println(resp.TLS.PeerCertificates[0]) + certInfo := resp.TLS.PeerCertificates[0] + fmt.Println("过期时间:", certInfo.NotAfter) + fmt.Println("组织信息:", certInfo.Subject) +} diff --git a/param.go b/param.go new file mode 100644 index 0000000..27e494c --- /dev/null +++ b/param.go @@ -0,0 +1,19 @@ +package netx + +import ( + "bytes" + "io" + "net/http" +) + +// 读取POST请求的原始参数 +func GetOriginParams(r *http.Request) ([]byte, error) { + buf := &bytes.Buffer{} + tea := io.TeeReader(r.Body, buf) + body, err := io.ReadAll(tea) + if err != nil && err != io.EOF { + return []byte{}, err + } + r.Body = io.NopCloser(buf) + return body, nil +}