11.0 Go Http
http client
package main
import (
"fmt"
"net/http"
"net/http/httputil"
)
func main() {
resp, err := http.Get("https://pythonav.com")
if err != nil {
panic(err)
}
defer resp.Body.Close() //关闭连接
s, err := httputil.DumpResponse(resp, true)
if err != nil {
panic(err)
}
fmt.Printf("%s\n", s)
}
The client request header is added
package main
import (
"fmt"
"net/http"
"net/http/httputil"
)
func main() {
request, err := http.NewRequest(http.MethodGet, "http://www.pythonav.com", nil)
//请求头添加
request.Header.Add("User-Agent",
"Mozilla/5.0 (iPhone; CPU iPhone OS 10_3 like Mac OS X) "+
"AppleWebKit/602.1.50 (KHTML, like Gecko) CriOS/56.0.2924.75 Mobile/14E5239e Safari/602.1")
client := http.Client{
//代理服务器
CheckRedirect: func(req *http.Request, via []*http.Request) error {
fmt.Println("Redirect:", req)
return nil
},
}
resp, err := client.Do(request)
if err != nil {
panic(err)
}
defer resp.Body.Close()
//
s, err := httputil.DumpResponse(resp, true)
if err != nil {
panic(err)
}
fmt.Printf("%s\n", s)
}
1.1. Go standard library
Common reptiles
bufio log encoding/json time regexp strings/math/rand
1.2 Local go standard library
godoc -http :8000
1.3. Go standard library Chinese network
https://studygolang.com/pkgdoc