client使用http的响应。
client
package main
import (
"fmt"
"io/ioutil"
"net/http"
)
func main() {
//http包
client := http.Client{}
resp, err := client.Get("https://www.baidu.com")
if err != nil {
fmt.Println("client.Get err:", err)
return
}
body := resp.Body
fmt.Println(body)
readBody, err := ioutil.ReadAll(body)
if err != nil {
fmt.Println("read body err:", err)
return
}
fmt.Println("body string:", string(readBody))
ct := resp.Header.Get("Content-Type")
date := resp.Header.Get("Date")
server := resp.Header.Get("Server")
fmt.Println("ct:", ct)
fmt.Println("date:", date)
fmt.Println("server:", server)
url := resp.Request.URL
code := resp.StatusCode
status := resp.Status
fmt.Println("url:", url)
fmt.Println("code:", code)
fmt.Println("status:", status)
}
httpServer
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
//注册路由
//https://127.0.0.1:8080/user,func是回调函数,用于路由的响应
http.HandleFunc("/user", func(writer http.ResponseWriter, request *http.Request) {
//request:===>包含客户端发送来的数据
fmt.Println("用户请求详情:")
fmt.Println("request:", request)
//writer:===>通过writer将数据返回给客户端
_, _ = io.WriteString(writer, "这是/user请求返回的数据!")
})
//https://127.0.0.1:8080/name
http.HandleFunc("/name", func(writer http.ResponseWriter, request *http.Request) {
_, _ = io.WriteString(writer, "这是/name请求返回的数据!")
})
//https://127.0.0.1:8080/id
http.HandleFunc("/id", func(writer http.ResponseWriter, request *http.Request) {
_, _ = io.WriteString(writer, "这是/id请求返回的数据!")
})
fmt.Println("Http Server start...")
err := http.ListenAndServe("127.0.0.1:8080", nil)
if err != nil {
fmt.Println("http start failed, err:", err)
return
}
}