go net

// IP --> 主机名
fmt.Println(net.LookupAddr("127.0.0.1"))

// 主机名 --> Ip(DNS协议)
fmt.Println(net.LookupHost("www.baidu.com"))

fmt.Println(net.ParseIP("127.0.0.1"))
fmt.Println(net.ParseIP("::1"))
fmt.Println(net.ParseIP("127.0.0.a"))
// 掩码
ip, ipNet, err := net.ParseCIDR("192.168.0.0/24")
fmt.Printf("%#v \n %#v \n %#v", ip, ipNet, err)

// 网络中是否包含某IP
fmt.Println(ipNet.Contains(net.ParseIP("192.168.1.1")))

// 获取本机网卡所有IP
fmt.Println(net.InterfaceAddrs())

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Golang的net/http是一个非常强大的包,用于创建HTTP服务器和客户端。它提供了很多功能,包括路由、中间件、Cookie管理、TLS支持等。以下是一些常用的功能: 1. 创建HTTP服务器 使用http.ListenAndServe(addr string, handler http.Handler)函数来创建一个HTTP服务器。addr是服务器的地址,handler是对请求的处理程序。例如,以下代码创建一个简单的HTTP服务器: ```go package main import ( "fmt" "net/http" ) func main() { http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "Hello, %q", r.URL.Path) }) http.ListenAndServe(":8080", nil) } ``` 2. 路由 可以使用http.HandleFunc()函数来设置路由。例如,以下代码将处理根目录的请求: ```go http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { // 处理请求 }) ``` 3. 中间件 可以使用http.HandlerFunc()函数来处理中间件。例如,以下代码将记录访问日志: ```go func Logger(next http.Handler) http.Handler { return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { log.Printf("%s %s", r.Method, r.URL.Path) next.ServeHTTP(w, r) }) } func main() { http.Handle("/", Logger(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "Hello, %q", r.URL.Path) }))) http.ListenAndServe(":8080", nil) } ``` 4. Cookie管理 可以使用http.Cookie和http.SetCookie函数来设置和获取Cookie。例如,以下代码将在响应中设置Cookie: ```go cookie := &http.Cookie{ Name: "username", Value: "john", } http.SetCookie(w, cookie) ``` 5. TLS支持 可以使用http.ListenAndServeTLS()函数来启用TLS支持。例如,以下代码将启用TLS: ```go http.ListenAndServeTLS(":443", "cert.pem", "key.pem", nil) ``` 以上是一些常见的Golang net/http的用法,它们可以帮助你创建一个功能强大的HTTP服务器和客户端。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值